button,label,textView

要做成這種效果圖

 

 

(1)button真的在計算高度的時候很有問題,就算你能知道寬度,自動換行的設置,但是高度就是不對。     ---------------pass

(2)於是我換成了label,高度可以很好的計算出來了,但是內間距是需要重新去畫的,需要你自己添加方法去計算,網上的方法試過了,並不正確!!!    ---------------pass

(3)我最後使用了TextView,設置不可編輯,不可選擇!!!!高度可以設置,內間距也是可以直接設置!!!完美~~~~

附上代碼:

-(void)setUpUIComponent{

    [self.emailNameTextView setText:self.enterEmail];

    self.emailNameTextView.layer.masksToBounds = YES;

    self.emailNameTextView.layer.cornerRadius = self.emailNameTextView.bounds.size.height/2;

    [self.emailNameTextView setTextContainerInset:UIEdgeInsetsMake(5, 10, 5, 33)]; //內間距

    CGFloat needHeight = [self neededHeightForTextComponent:self.emailNameTextView width:234]; //設置高度

    [self.emailNameTextViewHeight setConstant:needHeight];

}

#pragma mark - Calculate height

 

- (CGFloat)neededHeightForTextComponent:(id)textComponent width:(CGFloat)width

{

    CGSize neededSize = [textComponent sizeThatFits:CGSizeMake(width, CGFLOAT_MAX)];

    

    return ceilf(neededSize.height);

}

發佈了62 篇原創文章 · 獲贊 3 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章