【问题标题】:How to add view below another view in UIScrollView?如何在 UIScrollView 中的另一个视图下方添加视图?
【发布时间】:2012-08-06 13:24:27
【问题描述】:

在我的应用程序中,我使用UIScrollview 列出详细信息。在滚动视图中,第一个子视图是UItextview,第二个是UILabel,依此类推。但是,当 textview 内容更多时,它与UILabel 重叠,在 SO 和 google 中搜索了很多,但找不到我的问题的确切解决方案。

我在找

如何在UILabelView或其他视图下方添加UITextView?

感谢你们的帮助。

【问题讨论】:

    标签: iphone ios ios5 uiscrollview


    【解决方案1】:

    试试这个,

    [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 坐标。

    希望这对你有用。

    【讨论】:

    • 感谢您的回答,我会试试这个并让您知道
    • 我试过你的方法,但是当我使用_txtUse.frame = CGRectMake(0, NameLabel.frame.size.height,_txtUse.frame.size.width ,_txtUse.frame.size.height == _txtUse.contentSize.height )时,文字被隐藏了..
    【解决方案2】:

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

    bringSubviewToFront: 
    sendSubviewToBack:  
    

    您可以尝试将您的标签放在前面:

    [self.myScrollView bringSubviewToFront:self.myLabel];  
    

    或者将你的 textView 发送到后面:

    [self.myScrollView sendSubviewToBack:self.myTextView];  
    

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

    【讨论】:

    • 感谢您的回答。似乎并非所有视图都在故事板中的同一位置
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-20
    • 2020-08-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多