UIButton + italic font =剪辑

时间:2011-07-08 12:31:30

标签: iphone ios uibutton clipping italic

当我使用斜体字体如Helvetica Oblique且尺寸大于13时,问题是UIButton剪辑标题尾部(最后约1-2个像素)。有人知道这个问题的解决方案吗?

4 个答案:

答案 0 :(得分:2)

子类UIButton类并使用:

覆盖setTitle

- (void)setTitle:(NSString *)title forState:(UIControlState)state { [super setTitle:[NSString stringWithFormat:@" %@ ", title] forState:state]; }

这将从文本的两侧添加额外的空格。 简单&简单。

答案 1 :(得分:0)

我的脚本字体出现了这个问题。不幸的是,没有一种简单的方法来解决它。我尝试了一切,然后结束了UIButton的子类化。您可以在此处阅读有关实施的详细信息:http://blog.tinymission.com/post/subclassing-uibutton

基本上,最简单的方法是将自己的UILabel放在UIButton的顶部,但对我来说,这不会很好,所以我将UIButton子类化。

答案 2 :(得分:0)

您可以通过将Uibutton属性设置为

来设置Italic字体

button.titleLabel?.font = UIFont.italicSystemFont(ofSize:17)

答案 3 :(得分:0)

  1. 创建UIButton的自定义子类
  2. 覆盖方法:- (CGRect)titleRectForContentRect:(CGRect)contentRect

示例:

- (CGRect)titleRectForContentRect:(CGRect)contentRect
{
    CGFloat textX = 0;
    CGFloat textY = 0;
    CGFloat textW = self.width;
    CGFloat textH = contentRect.size.height;
    return CGRectMake(textX, textY, textW, textH);
}