在 iOS 中呈现弹出窗口的最正确/最有效/最新的方式是什么?
A la TweetBot:
我用过的方法:
从一个单独的 nib 中呈现一个弹出窗口并使用 loadNibNamed
使用 instantiateViewControllerWithIdentifier 从主 Storyboard呈现弹出窗口
纯粹以编程方式创建/呈现弹出窗口*
*我不想使用这种方法,因为我的弹出窗口有一个相当复杂的自定义 UI
此外,一旦我从上述任何方法加载了场景,我就不知道如何将弹出窗口中的 UI 元素与导出/操作(协议(protocol)?委托(delegate)?)连接起来
如果您能为我指出创建/显示/使用弹出窗口的最正确方法的正确方向,那就太棒了。
如果我说得太含糊,请告诉我,我可以添加更多细节。
最佳答案
已编辑:
嗯,输入我的答案后才看到你的截图。好吧,您可以使用 UIAlertView 提供的功能。我很确定 TweetBot 的人也是这样做的。这link here shows a blog article那会让你做你需要的。
除非您想疯狂定制,否则有几个解决方案可以让您完成它。东西like this
完成编辑
您可以使用的一件事是 Segues。假设您正在使用 StoryBoard,当您点击一个按钮并弹出一个 View 时,您可以通过这样的方式连接它们:
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if([[segue identifier] isEqualToString:@"ViewToBringIn"]) {
ViewController *vc = [segue destinationViewController];
vc.navigationItem.title = @"some title";
}
}
另一种使用 Segues 的方法是通过 StoryBoard UI。单击您想要的 View ,这将在连接检查器中显示类似屏幕截图的内容:
但是,如果您使用的是 nib 文件,那么您仍然可以通过代码创建它们并将它们推送到 View 中(根据您想要的格式)。当然 View 上的设计是通过Interface Builder完成的。
关于iphone - iOS 中使用 Storyboard View 或单独的 Nib 的自定义弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12715214/