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);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值