我正在尝试使用自定义字体创建UIButton
。我设置titleLabel's
字体,然后设置我的文字,然后拨打sizeToFit
。不幸的是,它将高度调整为太小的几个像素,并削减每个大写字母的一部分。按钮titleLabel
的高度小于按钮本身的大小,但在调用sizeToFit
后手动设置其框架对我没有任何作用。我注意到普通UILabel
中的相同行为,除非我手动将帧设置为UIButton
的大小,文本显示完美。当我致电sizeToFit
时,UILabel
与UIButton's
titleLabel
的尺寸相同,并且它也切断了我的大写字母的顶部。另外,由于这是SpriteKit SKView
我正在添加这些按钮,我还创建了SKLabelNode
以查看它如何处理自动调整字体大小,并且它做得很好,高度为几个像素高于UILabel
和我的UIButton titleLabel
高度的像素。这是一张可视化的imgur专辑,它在S和小写字母的点缀上显而易见:
有没有人有任何想法导致这种情况发生?
答案 0 :(得分:2)
如果有人遇到同样的问题并遇到这个问题,我只是通过继承UIButton来找出解决方案。然后,我刚刚修改了layoutSubviews,使得titleLabel边界等于按钮的子视图,并且它不再切断字体的顶部。不确定这是否是最好的方式,但它确实有效。
- (void)layoutSubviews
{
[super layoutSubviews];
self.titleLabel.bounds = self.bounds;
}