前两天公司项目遇到标签内容距离边框保持一定距离的需求,如图:
以前遇到这种需求,我肯定先计算文字的内容大小,再在内容大小的基础上给Lable的frame赋值使Lable的frame的宽高大于文字内容,后来觉得这种办法实在太麻烦了,下面给家展示更好的解决办法。
首先新建自己的MTMarkViewLable让它继承自UILable,设置你想要的内边距(我这里的内边距是写死的值),再重写-(CGRect)textRectForBounds:(CGRect)bounds limitedToNumberOfLines:(NSInteger)numberOfLines方法,在这个方法里根据内边距增大lable的bounces,就OK了