Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iPhone,Obj-C,在使用addSubview时,如何从操作表按钮单击使用应用程序内电子邮件?_Iphone_Objective C_Uiactionsheet - Fatal编程技术网

iPhone,Obj-C,在使用addSubview时,如何从操作表按钮单击使用应用程序内电子邮件?

iPhone,Obj-C,在使用addSubview时,如何从操作表按钮单击使用应用程序内电子邮件?,iphone,objective-c,uiactionsheet,Iphone,Objective C,Uiactionsheet,几个月前,我发现了一些很棒的示例代码,可以在视图中添加一个“撰写”按钮,允许在应用程序中发送电子邮件 但是,我希望能够显示电子邮件,并将其与我的任何观点一起使用。 我有一个标准类/方法来显示actionsheet,因此我可以在所有视图中使用它 这是我班上另一个按钮的代码 -(UIViewController *)showHelpClickButtonAtIndex:(int)buttonIndex:(UIView *) vw:(UIViewController *)vc:(BOOL

几个月前,我发现了一些很棒的示例代码,可以在视图中添加一个“撰写”按钮,允许在应用程序中发送电子邮件

但是,我希望能够显示电子邮件,并将其与我的任何观点一起使用。 我有一个标准类/方法来显示actionsheet,因此我可以在所有视图中使用它

这是我班上另一个按钮的代码

-(UIViewController *)showHelpClickButtonAtIndex:(int)buttonIndex:(UIView *)
      vw:(UIViewController *)vc:(BOOL)useNav:(HelpPage)page{

if (buttonIndex == CommonUIInfoHelpPagesBtnIdx) {
vc = [[HelpViewController alloc] initWithNibName:@"HelpView" 
         bundle:nil onPage:page];
   [vw addSubview:vc.view];
   return [vc autorelease]; 
下面是示例代码,我没有多次尝试使其正常工作

MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
picker.mailComposeDelegate = self;
[picker setSubject:titleText.text];
NSString *emailBody = @"Whatever";
[picker setMessageBody:emailBody isHTML:YES]; 
picker.navigationBar.barStyle = UIBarStyleBlack; 
[self presentModalViewController:picker animated:YES];
[picker release];
它主要是
MFMailComposeViewController
并将
presentModalViewController
替换为我遇到问题的
addSubview


有人能给我指出正确的方向吗?

根据MFMailComposeViewController的文档:

要显示此服务器管理的视图,请执行以下操作: 视图控制器,您可以使用 显示的标准技术 视图控制器。然而,最常见的 显示此接口的方法是以模式执行 使用presentModalViewController:animated:方法

第一句话告诉我们,您应该以常规方式之一显示mail composer的视图控制器;如果您正试图将视图控制器的视图作为子视图添加到现有UIView中,那么这不是Apple希望您使用的标准方式之一,因此可能无法工作或无法预测

与此相关的是苹果公司的建议,即UIViewController应该负责显示整个用户界面的一部分,而不仅仅是其中的一部分——你的方法似乎也与此背道而驰


因此,解决方案是像普通视图控制器一样呈现mail composer:modally,或推到导航堆栈上,或呈现为UIWindow下的俯视图,等等。

Btw,如果您还提供了修改代码的示例,您的问题可能会更清楚。“没有我的多次尝试”让我们猜测你到底在尝试什么。