所以我有一个奇怪的问题可能是一个错误或我是愚蠢的。
我在单元格中有一个按钮。单元格显示登录用户的Facebook好友。如果他们已经是该应用的用户,则会将该按钮显示为“播放”,否则会显示“邀请我...”
UIButton *playButton = (UIButton *)[cell.contentView viewWithTag:30];
playButton.backgroundColor = [UIColor clearColor];
[playButton setBackgroundImage:[[UIImage imageNamed:@"fbCell_Invite_30h"] resizableImageWithCapInsets:UIEdgeInsetsMake(15, 5, 15, 5)] forState:UIControlStateNormal];
playButton.titleLabel.text = @"Invite me";
if ([self.fbFriendsUsingApp containsObject:[friend valueForKey:@"id"]]) {
playButton.titleLabel.text = @"Play";
}
这一切都很好,不是问题。但是,当按钮文本邀请我时,它显示如下:
在storyboard界面构建器中,按钮的设置如下:
奇怪的是,如果我点击中间的箭头< ------>为了使宽度拉伸,标题文本停止工作,它们都显示'播放'???
答案 0 :(得分:3)
尝试使用
设置按钮的文字
[playButton setTitle:@"Invite Me" forState:UIControlStateNormal];
而不是
playButton.titleLabel.text = @"Invite Me;
我发现如果我不使用上面的第一种方法,则不会显示对按钮文本的更改。
答案 1 :(得分:0)
您可以找到您设置为按钮标签的NSString
的尺寸,然后相应地调整按钮的大小:
CGSize labelSize = [labelString sizeWithFont:[UIFont systemFontOfSize:12]];
[button setFrame:CGRectMake(10,0,labelSize.width, labelSize.height)];
您可能希望在CGSize中添加一点作为填充,但使用它并找到您想要的结果。