从情节提要(或必要时使用笔尖)在视图顶部加载控制器
Posted
技术标签:
【中文标题】从情节提要(或必要时使用笔尖)在视图顶部加载控制器【英文标题】:Loading controller on top of view from storyboard (or nib if necessary) 【发布时间】:2014-10-29 17:08:30 【问题描述】:我已经看到了很多关于这个的话题,但是我无法让它按我的意愿工作,很抱歉这看起来像一个重复。 我最想做的事:
显示来自故事板 VC(或 .xib,这真的取决于什么是“最佳”)的视图,就好像它是一个警报一样。用户必须与其交互,然后将其关闭。
这是我所拥有的:
我的故事板中的视图控制器;它链接到相应的 .h 和 .m 文件,并且在那一侧一切正常。
注意:那个 viewcontroller 是“单独的”,没有 segue 导致它。
现在我在我的应用程序流中的活动 VC 中,我正在这样做:
ADFViewController *adf = [[ADFViewController alloc]initWithNibName:@"ADFView" bundle:[NSBundle mainBundle]];
adf.xxx = yyy // just setting some data that the user interacts with.
[self.view addSubview:adf.view];
(VC 有一个按钮,当用户决定这样做时,[self.view removeFromSuperview];
会自行关闭。)
我也试过用这个:
adf = [self.storyboard instantiateViewControllerWithIdentifier:@"ADFViewController"];
两者都不起作用或“几乎”起作用。
它们按照应有的方式链接在一起,情节提要和 Nib 名称对应(我都试过了)。
结果我只是得到一个空白屏幕。视图大小是 300x300,所以它至少应该出现在我的屏幕上。但我得到的只是一个空白屏幕(视图背景)。
当它起作用时,我打算让背景透明,这样它看起来真的像一个警报,但我什至还没有达到这一点。也许我在挣扎,即使我走错了方向。
问题: 难道我做错了什么? 这是实现这一目标的正确方法吗? 我该怎么办?
非常感谢您的宝贵时间。
【问题讨论】:
您想要实现自定义过渡。查看wwdc 2013中的“使用 ViewControllers 的自定义转换” 【参考方案1】:让视图看起来和行为像警报(具有透明背景等)需要一些工作,因为您不能子类化 UIAlertView。我建议使用已经构建的可定制 UIAlertView 外观对话框。这个问题上列出了几个:
UIAlertView addSubview in ios7
这些基本上只是将视图作为输入,因此您只需传入视图控制器的视图,其他一切都会为您处理。
【讨论】:
以上是关于从情节提要(或必要时使用笔尖)在视图顶部加载控制器的主要内容,如果未能解决你的问题,请参考以下文章
一起使用笔尖和情节提要:将笔尖的按钮目标/动作连接到情节提要中的控制器
意外的 NSAutoresizingMaskLayoutConstraint 将 UIView 从笔尖添加到自动布局情节提要场景