我一直试图找到一些关于在我的快速项目中布置屏幕元素的最佳实践方法的建议。我发现了一些帖子告诉我哪些方法可以解决问题,但我很想知道我的方法是否正确/可接受。
我的一些应用程序具有相当复杂的布局,例如我正在处理的那个有一个unsigned char *ucVar;
char tmp[64]; // since ulVar will never be bigger than 63 character + 1 for '\0'
wsprintfA(tmp, "%lu", ulVar);
memcpy(ucVar, tmp, sizeof(tmp));
MessageBox(0, (LPSTR)ucVar, "ucVar", 0);
,第一个标签包含UITabViewController
,导航视图包含UINavigationViewController
。由于在正确显示屏幕元素方面存在一系列问题(例如,元素出现在其他元素后面,元素出现的屏幕尺寸不正确等),我现在执行以下操作:
UIPageViewController
然后我在func viewDidLoad() {
self.view.addSubview(firstSubview)
self.view.addSubview(secondSubview)
}
中设置每个视图,如下所示:
viewWillLayoutSubviews
这可以从我所看到的情况完美地发挥作用,而且我在调整大小和元素顺序(它被称为层次结构?)之后才结束了。
任何建议都将受到赞赏。
答案 0 :(得分:1)
这取决于您希望布局代码何时发生。
对于基本布局,您应该初始化视图并在viewDidLoad中添加子视图。对于帧更改,可以是viewDidLayoutSubviews,viewWillLayoutSubviews。如果要重新加载某些视图(例如在解除显示的视图控制器后更新文本),也可以使用viewWillAppear和viewDidAppear。