如何在UIScrollView中将一个视图添加到另一个视图下方?

3
在我的应用中,我使用UIScrollview来列出详细信息。在scrollview中,第一个子视图是UItextview,第二个是UILabel等等。但是,当textview的内容更多时,它会重叠在UILabel上面,在stackoverflow和google上搜索了很多,但是无法找到解决我的问题的确切方法。
我正在寻找
如何在UILabelView或其他视图下添加UITextView
谢谢你们的帮助。
2个回答

3

尝试使用这个:

[YOUR_SCROLL_VIEW addSubview:YOUR_TEXT_VIEW];
YOUR_TEXT_VIEW.frame = CGRectMake(0, 0, YOUR_TEXT_VIEW.frame.size.width, YOUR_TEXT_VIEW.frame.size.height);

[YOUR_SCROLL_VIEW addSubview:YOUR_LABEL];
YOUR_LABEL.frame = CGRectMake(0, YOUR_TEXT_VIEW.frame.size.height, YOUR_LABEL.frame.size.width, YOUR_LABEL.frame.size.height);

YOUR_SCROLL_VIEW.contentSize = CGSizeMake(320, YOUR_TEXT_VIEW.frame.size.height+YOUR_LABEL.frame.size.height);

根据您的需求更改X或Y坐标。

希望这对您有用。


谢谢你的回答,我会尝试这个方法并告诉你结果。 - vinothp
我尝试了你的方法,但是当我使用 _txtUse.frame = CGRectMake(0, NameLabel.frame.size.height,_txtUse.frame.size.width ,_txtUse.frame.size.height == _txtUse.contentSize.height ) 时,文本被隐藏了。 - vinothp

0

UIView有两个方法可以将指定的子视图移动到其subviews属性中视图数组的末尾/开头:

bringSubviewToFront: 
sendSubviewToBack:  

您可以尝试使用以下代码将标签置于最前面:

[self.myScrollView bringSubviewToFront:self.myLabel];  

或者使用以下代码将您的textView发送到后面:

[self.myScrollView sendSubviewToBack:self.myTextView];  

*我过去曾经使用过这些方法和UIView一起,UIScrollView继承自UIView,所以它应该也可以工作,但我没有机会确认过,可能UIScrollView机制处理其子视图的方式不同,所以你需要自己检查 :)


感谢您的回答。似乎并没有起作用,所有视图都与Storyboard中的位置相同。 - vinothp

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接