我用Xcode制作了一个Master-Detail应用程序。 不,我有以下问题/问题。
如果按“ADD”按钮顶部,我想创建一个新视图。我发现它是如何以编程方式工作的。
UIViewController *addView = [[UIViewController alloc]init];
[self.navigationController pushViewController:addView animated:YES];
但现在故事板编辑器中不存在新的View。我是否还必须以编程方式创建标签,textFields等?或者还有另一种方法可以做到这一点。
迎接
答案 0 :(得分:0)
以编程方式创建的视图不会显示在故事板上。
如果它只是您要创建的一次性视图,您可以将其添加到故事板,设置所有属性和子视图,将其设置为hidden
并将其绑定到ivar。这样您就可以通过ivar访问它,只需将hidden
设置为no
即可显示它。还有其他方法可以尝试,但这很简单。
答案 1 :(得分:0)
故事板视图和编程创建的视图可以很好地共存。无论出于何种原因,如果你需要它们,那么在那里创建视图并从头开始隐藏(和停用)它。在程序中而不是创建一个新的只是取消隐藏它并激活它。
但是,没有理由不以编程方式创建它。
使用故事板它原则上的工作原理如下:
每个视图都有一个nib
格式的XML
文件,xib
被调用。加载视图时,将加载此XML文件。您在IB / Storyboard中创建的所有视图和设置都以XML格式存储在那里。然后框架通过XML
文件中的条目工作,并通过usint xml
文件中的设置以编程方式为您创建视图。
因此,最后,以编程方式创建的视图与通过故事板创建的视图没有太大区别。
对于以编程方式创建的视图:
IBOutlet
。 strong
。 IB /故事板IBOutlet
视图属性可以是weak
。