【问题标题】:Move uiview once uilabel text has changeduilabel 文本更改后移动 uiview
【发布时间】:2014-07-22 13:25:27
【问题描述】:

我有一个 UIlabel,当用户单击按钮时,其文本会发生变化,然后使用以下方法调整该标签的大小:

CGRect frame = label.frame;
    [label sizeToFit];
    frame.size.height = label.frame.size.height;
    label.frame = frame;

这样宽度保持不变,但标签的高度发生了变化,所以所有文本都适合这个。

然后我需要将此标签下方的 uiview 向下移动,以便它从标签底部开始,我该怎么做?

【问题讨论】:

  • 你在使用自动布局吗?你能不能在标签调整大小的同时或立即改变框架或约束并调整框架的位置?

标签: ios objective-c uiview


【解决方案1】:

最终解决了:

    CGRect contentframe = _lbl_content.frame; //the uilabel
    CGRect keyframe = _view_keystuff.frame; //the uiview
    float startlocation = contentframe.origin.y;
    startlocation += contentframe.size.height;
    keyframe.origin.y = startlocation;
    _view_keystuff.frame = keyframe;

【讨论】:

    【解决方案2】:

    你只想把 UIView 放在标签下面?

    试试这个:

    UIView *viewBelowLabel = [[UIView alloc] init];
    
    viewBelowLabel.frame = CGRectMake( "your view origin x", label.frame.origin.y + label.frame.size.height, "your view size width", "your view size height");
    

    你应该在调整标签大小后调整 UIView 框架

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多