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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章