开发中遇到的比较容易忽略的问题:

2016-05-16  本文已影响34人  爱掏蜂窝的熊

1.文字在控件中垂直居中显示。(根据一个字体,计算出控件的大小,要求字体能够垂直居中显示。上下的距离都相等)

遇到的问题:

1>如果我们直接根据文字在一个限定的范围内计算其size(宽高),在控件中显示的结果是不完整的/不是垂直居中的,因为你设置了行距lineSpace = 常量,在最后一行结束时也会额外加上这个行距
2>UITextView的textContainerInset的默认值是(8,0,8,0),上部和下部会有一个8个点的内切区域

解决办法:

1>计算出来的文字的高度,加上你设置的一个行距lineSpace = 常量,再加上上部额外内切的距离(等于一个行距),这样就能够使文字在控件中垂直居中显示了。也就是:文字的高度+2倍的行距。
2>设置了行距之后,UITextview控件默认会在最后一行结束时添加一个行距的。

2.如果在自定义VC中,自定义了presentViewController:nil animated:NO completion:nil这个方法,即使设置状态栏的样式由控制器控制,由这方法推出来的控制器的preferStateBarStyple方法不会再被调用,需要系统的presentView方法推出的控制器才会执行preferStateBarStyple这个方法。

上一篇下一篇

猜你喜欢

热点阅读