美文网首页
无标题文章

无标题文章

作者: 要加油啊小和尚 | 来源:发表于2018-04-09 17:54 被阅读0次

    一开始拿到宽度的时候,还在viewDidLoad方法中,按钮的文字还没显示出来,不显示就没去算,算出来label的宽度就是0,在调用viewDidLoad的时候,view刚刚加载完,然后调用初始化标题栏的方法,创建了一堆的按钮,并且给按钮设置了文字,但是仅仅是将控件加进去创建好,并没有准备要显示,在准备要显示的时候才会计算子控件的宽度,比如说按钮里面label的宽度,按钮的宽度,layoutstubviews方法中做的一些操作,如根据文字算高度,是在要显示的时候才会算,因为不显示干嘛要去算呢,所以在viewDidLoad中去拿宽度的时候,由于还没显示,就没有去算,这个时候拿到的宽度是0

    如何解决呢:

    强制让它去算,

    btn.titleLabel sizeToFit ,这个方法的作用是根据里面的内容算出宽度和高度,只要拿到这个label,调用一下sizeToFit ,label就根据它文字的多少,算出它文字的宽高

    是这样的,你可以不加“:”号,这样就不传递任何值。但是如果你要加“:”号的话,一定会将当前的这个按钮传递到你指定的参数中。

    相关文章

      网友评论

          本文标题:无标题文章

          本文链接:https://www.haomeiwen.com/subject/vmswsxtx.html