如果您对objective-c–如何将焦点设置在MFMailComposeViewController的TO字段上?和将焦点设置到指定的控件或窗体上应采用什么方法感兴趣,那么这篇文章一定是您不可错过的
如果您对objective-c – 如何将焦点设置在MFMailComposeViewController的TO字段上?和将焦点设置到指定的控件或窗体上应采用什么方法感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解objective-c – 如何将焦点设置在MFMailComposeViewController的TO字段上?的各种细节,并对将焦点设置到指定的控件或窗体上应采用什么方法进行深入的分析,此外还有关于ios – i386架构的未定义符号:“_OBJC_CLASS _ $_ MFMailComposeViewController”、ios – MFMailComposeViewController navigationBar颜色不完全匹配、ios – MFMailComposeViewControllerDelegate不工作Swift 3、ios – MFMailComposeViewController获取电子邮件正文的实用技巧。
本文目录一览:- objective-c – 如何将焦点设置在MFMailComposeViewController的TO字段上?(将焦点设置到指定的控件或窗体上应采用什么方法)
- ios – i386架构的未定义符号:“_OBJC_CLASS _ $_ MFMailComposeViewController”
- ios – MFMailComposeViewController navigationBar颜色不完全匹配
- ios – MFMailComposeViewControllerDelegate不工作Swift 3
- ios – MFMailComposeViewController获取电子邮件正文
objective-c – 如何将焦点设置在MFMailComposeViewController的TO字段上?(将焦点设置到指定的控件或窗体上应采用什么方法)
MFMailComposeViewController *mailComposer; mailComposer = [[MFMailComposeViewController alloc]init]; mailComposer.mailComposeDelegate = self; [mailComposer setSubject:@"My Subject"]; [mailComposer setMessageBody:@"This is the body of my message" isHTML:NO]; [self presentModalViewController:mailComposer animated:YES]; [mailComposer release];
解决方法
UIView *v0 = mailComposer.view; UIView *v1 = [[v0 subviews] objectAtIndex:0]; // UINavigationTransitionView UIView *v2 = [[v1 subviews] objectAtIndex:0]; // UIViewControllerWrapperView UIView *v3 = [[v2 subviews] objectAtIndex:0]; // MFMailComposeView UIView *v4 = [[v3 subviews] objectAtIndex:0]; // UIView UIView *v5 = [[v4 subviews] objectAtIndex:0]; // MFComposeScrollView UIView *v6 = [[v5 subviews] objectAtIndex:0]; // UIView UIView *v7 = [[v6 subviews] objectAtIndex:0]; // MFMailComposeRecipientView UIView *v8 = [[v7 subviews] objectAtIndex:1]; // _MFMailRecipientTextField
这个v8家伙就是你想要的人.它是UITextField的子类.让它成为第一响应者.
正式地说,你应该检查子视图的类型而不是第一个或第二个对象.但话说回来,正式你根本不应该这样做,因为这都是无证的,并且可能在未来的iOS版本中破坏.
ios – i386架构的未定义符号:“_OBJC_CLASS _ $_ MFMailComposeViewController”
Undefined symbols for architecture i386: "_OBJC_CLASS_ $_MFMailComposeViewController",Referenced from: objc-class-ref in ViewController.o ld: symbol (s) not found for architecture i386 clang: error: linker command Failed with exit code 1 (use-v to see invocation)
请帮忙,这是什么怎么解决?
提前致谢!
解决方法
以下是您的操作方法:
>在项目导航器侧栏中选择项目.>单击“构建阶段”选项卡.>展开“使用库链接二进制”部分.>点击”按钮.>从列表中选择“MessageUI.framework”. (您可以使用搜索框找到它).
ios – MFMailComposeViewController navigationBar颜色不完全匹配
这是我的viewController导航栏颜色:
在定制所有解决方案后,最接近的是:
我的代码中缺少的是什么?请看看.
MFMailComposeViewController *mc = [[MFMailComposeViewController alloc] init]; mc.mailComposeDelegate = self; [mc.navigationBar setTintColor:[UIColor whiteColor]]; [mc setSubject:[Nsstring stringWithFormat:@"V%@ Support",version]]; [mc setMessageBody:supportText isHTML:NO]; [mc setToRecipients:@[@"ring@ringid.com"]]; [self presentViewController:mc animated:YES completion:NULL];
我尝试过:
mc.navigationBar.translucent = NO; [mc.navigationBar setTintColor:[UIColor myColor]]; mc.navigationBar.backgroundColor = [UIColor myColor]; UIImage *image = [UIImage imageNamed:@"nav-bar_6_plus.png"]; [mc.navigationBar setBackgroundImage:image forBarMetrics:UIBarMetricsDefault];
但没有运气.
提前致谢.
解决方法
在Swift 3.0中
UINavigationBar.appearance().isTranslucent = false
设置UINavigationBar的外观解决了我的问题.
ios – MFMailComposeViewControllerDelegate不工作Swift 3
以下是我一直使用的代码的精确副本:
func launchFeedback() { guard MFMailComposeViewController.canSendMail() else { return } let emailTitle = "Feedback" let messageBody = "" let toRecipents = ["johnappleseed@icloud.com"] mailComposer.mailComposeDelegate = self mailComposer.setSubject(emailTitle) mailComposer.setMessageBody(messageBody,isHTML: false) mailComposer.setToRecipients(toRecipents) self.show(mailComposer,sender: self) } func mailComposeController(controller: MFMailComposeViewController,didFinishWith result: MFMailComposeResult,error: Error?) { print(error) controller.dismiss(animated: true,completion: nil) }
解决方法
@objc(mailComposeController:didFinishWithResult:error:) func mailComposeController(_ controller: MFMailComposeViewController,error: NSError?) { controller.dismiss(animated: true) }
请在方法实现之前查看@objc宏.另请注意,最后一个参数必须是NSError类型而不是Apple文档建议的错误(并由Xcode自动完成)
ios – MFMailComposeViewController获取电子邮件正文
- (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error
我如何获得此消息的文本?
我需要它用于分析.
日Thnx
解决方法
关于objective-c – 如何将焦点设置在MFMailComposeViewController的TO字段上?和将焦点设置到指定的控件或窗体上应采用什么方法的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于ios – i386架构的未定义符号:“_OBJC_CLASS _ $_ MFMailComposeViewController”、ios – MFMailComposeViewController navigationBar颜色不完全匹配、ios – MFMailComposeViewControllerDelegate不工作Swift 3、ios – MFMailComposeViewController获取电子邮件正文等相关内容,可以在本站寻找。
本文标签: