2015-11-04 37 views
0

我想添加一个UIView到我有的滚动视图。没有错误或错误,尽管运行代码时没有任何显示。UIScrollView不正确地添加子视图在Swift

那就是: scrollView.contentSize = CGSizeMake(375,667)是正确创建

let newStory:InboxStory = InboxStory() 
    newStory.titleLabel?.text = "test it" 
    newStory.frame = CGRectMake(0, 0, 375, 667) 

scrollView.addSubview(newStory as UIView) 

的一切,我的观点有其放置的autoLayout的标签。

这里是我的标签的autoLayout: enter image description here

眼下,UIScrollView中保持为空(或至少看上去空白)。有什么我失踪或没有想过?我的autoLayout会导致问题吗?

谢谢

回答

1

InboxStory是UIView的子类吗? titleLabel是它的子视图吗?但是在Storyboard中,它将它作为scrollview的子视图放入。然后在其顶部添加视图newStory(带有不透明白色背景),以便它完全填充滚动视图。所以,你知道发生了什么尝试更换

scrollView.addSubview(newStory as UIView) 

随着

scrollView.insertSubview(view:newStory, belowSubview: newStory.titleLabel) 

您应该添加titleLabel作为newStory的子视图,然后使该滚动视图的子视图。

+0

是的,InboxStory是UIView的子类,titleLabel是它的子视图(它是一个标签,但是)。是否真的没有办法添加一个通用的“容器”视图及其所有其他子视图?我必须单独通过它们并添加每个元素?感谢您的澄清,这非常有帮助。 –

+0

这些问题更具修辞性,陈述你打算做什么,但是然后指出你做了什么。如果要在Storyboard中布局newStory,请拖出一个uview查看单击身份检查器并将该类更改为InboxStory,然后将titleLabel作为子视图(UILabel's是UIView的子类)添加。或者不要在故事板中布置任何东西,并以编程方式执行所有操作但仅仅因为一个UIView子类具有UILabel属性并不意味着没有初始化它,设置它的框架,然后将其添加为子视图。 – beyowulf

+0

只是礼貌地询问是否有解决方法。没有必要让人烦恼。但感谢您的答案。 –

相关问题