搜尋

首頁  >  問答  >  主體

objective-c - 用約束調整label,如何利用約束計算其父控制項的動態高度

  1. 描述你的問題
    在storyboard上 拖一個view 設定好約束, 拖一個label ,設定左、上、寬度約束,label 文字變化的時候view 高度也要跟著變化,如何計算label文字變化

  2. 貼上相關代碼

-(void)touchesBegan:(NSSet> )touches withEvent:(UIEvent *)event
{

// self.oriangeView.bounds = CGRectMake(0.0f, 0.0f, CGRectGetWidth(self.oriangeView.bounds), CGRectGetHeight(self.label.bounds));

[self.oriangeView setNeedsLayout];
[self.oriangeView layoutIfNeeded];
// 得到cell的contentView需要的真实高度
CGFloat height = [self.oriangeView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize].height;

// 要为cell的分割线加上额外的1pt高度。因为分隔线是被加在cell底边和contentView底边之间的。
height += 1.0f;
NSLog(@"%f",height);

}

  1. 貼上報錯訊息

  2. 貼上相關截圖

  3. 已經嘗試過哪些方法仍然沒解決(附上相關連結)

ringa_leeringa_lee2793 天前669

全部回覆(1)我來回復

  • 大家讲道理

    大家讲道理2017-05-02 09:20:30

    @interface ViewController ()
    @property (弱,非原子) IBOutlet UILabel *label;
    @property (弱,非原子) IBOutlet UIView *oriangeView;
    @property (弱,非原子) Outretlet UIView *oriangeView;
    @property (弱,非原子) Outlet property (弱) ,非原子)IBOutlet NSLayoutConstraint *smallViewConstraint;

    @結束

    @實作ViewController

    • (void)viewDidLoad {

      雷雷

      //[self.oriangeViewlayoutIfNeeded];

    // [self.oriangeView updateConstraints];

    }

    pragma mark---依字串和字型求字串高度

    -(CGSize)stringSizeWithFont:(UIFont )字體字串:(NSString )字串寬度:(CGFloat)寬度
    {

    雷雷

    }
    -(void)touchesBegan:(NSSet> )touches withEvent:(UIEvent *)event
    {

    雷雷

    }

    回覆
    0
  • 取消回覆