我正在学习Objective-C,但目前还停留在涉及多个视图控制器的地方。我了解到,如果故事板上有多个视图,则必须制作一个单独的文件(例如ViewTwoControllor.h和.m),然后通过在第三个选项卡右侧的面板中单击它们将这些文件链接到视图。您必须输入“ ViewTwoController”。我得到例如通过单击一个按钮在Safari中打开网站。但是我想在第二种观点中整合Twitter。
在将iOS 5集成到第二个视图之前,它一直很好。我对按钮使用以下代码。
TWTweetComposeViewController *tweet = [[TWTweetComposeViewController alloc]init];
[tweet setInitialText:@"This is a pretty awesome application bro."];
[tweet addURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://www.stackoverflow.com"]]];
[self presentedViewController:tweet animated:YES completion:nil];
包括Twitter框架,并且IBAction等也可以。
这在单视图应用程序中有效,但现在出现以下错误:
“实例消息的接收器类型'ViewTwoController'未声明带有选择器'presentedViewController:animate:completion:'的方法。
房间里有人知道如何解决这个问题?
最佳答案
您可能需要presentModalViewController
,而不是presentedViewController
查看UIViewController的文档。您会看到在这种情况下有两个选项:presentViewController:animated:completion
和presentModalViewController:animated
如果您不熟悉Objective-c,选择器本质上只是一个方法名称。错误消息告诉您问题出在哪里:您正在尝试将消息(选择器,在这种情况下为presentedViewController:animated:completion
)发送到不知道如何响应该消息的对象(在这种情况下,是ViewTwoController
的实例)。这表明您正在调用的方法不正确,或者您尝试调用该方法的对象不是您所认为的子类。
关于objective-c - 拥有多个 View 时“presentedViewController”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11037823/