![](/img/trans.png)
[英]Programmatically accessing subviews of UIView added in Interface Builder
[英]UIView behaving differently if added programmatically or with Interface Builder
我正在考虑是要以编程方式将UI元素添加到应用程序中,还是要使用Xcode的Storyboard。 我注意到在这两种情况下,UIView在最终应用程序中的显示方式有所不同。
这是我以编程方式添加的代码
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 705)];
// use the view (including adding subviews programmatically)
如果我通过“界面”构建器添加它,这是尺寸检查器选项卡:
我创建一个插座连接(将UIView称为“ myView”),并以这种方式仅修改我上面发布的代码行:
UIView *view = self.myView;
// use the view (including adding subviews programmatically)
但是,最终结果略有不同。 与以编程方式创建的UIView相比,“界面”构建器的UIView似乎处于不同的位置。 我认为这并不重要,但是我正在使用此预制类修改UIView。
谢谢您的帮助!
这是我得到的不同结果(背景是随机生成的,所以不要介意它们是否不同)。 UIView似乎处于不同的位置。 标签和框以编程方式生成并添加为子视图。
您说您正在使用“此预制类”,即BTGlassScrollView。 但是在您的代码中您说的是:
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 705)];
因此,您将获得普通的UIView-而不是BTGlassScrollView。
它是自动布局,弄乱了它。 我添加了一些约束,现在显示没有问题。 谢谢大家的帮助:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.