裁剪UIButton标题

我正在使用UIButton的标题的自定义字体。 它的作品,除了这个特定的字体,第一个字符的一部分被剪辑。 例如:

在这里输入图像说明

我尝试设置contentEdgeInsets和titleEdgeInsets,似乎无法得到它不剪裁。 我也尝试将button.titleLabel.clipsToBounds属性设置为NO;

任何build议将不胜感激。

虽然杰西亚的解决scheme工作正常,但这不是我眼中的最佳select。 我宁愿推荐子类UIButton并覆盖它的layoutSubviews方法。

 -(void)layoutSubviews { [super layoutSubviews]; CGRect frame = self.titleLabel.frame; frame.size.height = self.bounds.size.height; frame.origin.y = self.titleEdgeInsets.top; self.titleLabel.frame = frame; } 

所以我刚刚结束了设置UIButton标题为零,并将我自己的UILabel作为子视图添加到UIButton中。 我将UILabel框架设置为与button相同的尺寸,并将其设置为居中。

不是我确定的最优雅的解决scheme,但它完成了工作。

它看起来像你的内容是一致的。 如果标签的框架不能直接访问,请使用[button setContentHorizontalAlignment:UIControlContentHorizontalAlignmentCenter]; 尝试修复水平alignment问题。

Swift代码为以上答案:

 override func layoutSubviews() { super.layoutSubviews() titleLabel?.frame = CGRect(x: bounds.origin.x, y: titleEdgeInsets.top, width: frame.width, height: bounds.size.height) }