UIButton titleLabel不显示中心对齐。

时间:2014-05-03 22:45:26

标签: ios uibutton

我的ios项目中有一个按钮,如果用户是当前用户,则显示编辑配置文件;如果用户不是当前用户,则按下该按钮。

我正在以编程方式设置titleLabel文本,具体取决于上述条件。我也以编程方式设置按钮文本以对齐中心。

我遇到的问题是它完美适用于编辑配置文件按钮,它显示为应该居中对齐但是当显示跟随按钮时,单词follow略微偏离中心向左,我无法弄清楚我在哪里我出错了。

这是我的代码:

 if([userID isEqualToString:credentialID]){
        self.followEditBtn.layer.cornerRadius = 2;
        self.followEditBtn.layer.borderColor = UIColorFromRGB(0xA6B9C1).CGColor;
        self.followEditBtn.layer.borderWidth = 1.0f;
        self.followEditBtn.layer.backgroundColor = UIColorFromRGB(0xF8FBFC).CGColor;
        self.followEditBtn.titleLabel.textColor = UIColorFromRGB(0xA1B1C3);
        self.followEditBtn.titleLabel.text = @"Edit Profile";
        self.followEditBtn.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;
    } else {
        self.followEditBtn.layer.cornerRadius = 2;
        self.followEditBtn.layer.borderColor = UIColorFromRGB(0x19A548).CGColor;
        self.followEditBtn.layer.borderWidth = 1.0f;
        self.followEditBtn.layer.backgroundColor = [UIColor whiteColor].CGColor;
        self.followEditBtn.titleLabel.textColor = UIColorFromRGB(0x19A548);
        self.followEditBtn.titleLabel.text = @"Follow";
        self.followEditBtn.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;
    }

您可以看到以下按钮的一些按钮图像略微偏离左侧中心,但编辑配置文件按钮正确对齐:

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:3)

我无法重现您的问题(iOS 6.1到7.1)。虽然我不得不进行一些小改动才能使它工作,因为它没有显示任何文字。 而不是使用:

self.followEditBtn.titleLabel.text = @"Edit Profile";

你应该使用:

[self.followEditBtn setTitle:@"Follow" forState:UIControlStateNormal];

我假设您正在使用UIButtonTypeCustom类型的UIButton,并且具有固定的帧大小。

我希望您告诉我您在哪里放置此代码,以及该按钮是如何初始化的。