尝试更新UIButton的标题以响应被选中

时间:2014-02-16 00:45:22

标签: ios ios7 uibutton

我正在尝试更新你的标题 - >>选择时按钮。设置为'u'工作正常但是我点击按钮后,它不会更新。我正在把它放到行动中,但不确定这是不是正确的地方。

在viewDidLoad

[self.expandButton setTitle:@"u" forState: UIControlStateNormal];

我把它放在哪里? - 在UIButton的操作中无法正常工作:

[self.expandButton setTitle:@"d" forState: UIControlStateSelected];

thx任何帮助

编辑1

设为属性: @property(弱,非原子)IBOutlet UIButton * expandButton;

...

这是动作以及我如何设置所选状态:

- (IBAction)expand:(id)sender {
    [self.expandButton setTitle:@"d" forState: UIControlStateSelected];

3 个答案:

答案 0 :(得分:0)

...

EDITED

我得到的是,当点击按钮时,状态变为选择,再次点击时返回正常。你可以使用这些技巧:

- (void)viewDidLayoutSubviews {
    [super viewDidLayoutSubviews];

    [button setTitle:@"unselected" forState:UIControlStateNormal];
    [button setTitle:@"selected" forState:UIControlStateSelected];
    [button addTarget:self action:@selector(buttonTap:) forControlEvents:UIControlEventTouchUpInside];
}

- (void)buttonTap:(UIButton *)sender {
    sender.selected = !sender.selected;
}

答案 1 :(得分:0)

您可以创建一个功能来设置按钮标题并在触摸时调用它:

[button addTarget:self action:@selector(buttonTouchDown:)forControlEvents:UIControlEventTouchDown];

答案 2 :(得分:0)

您可以制作一个“空白”按钮并在其上方使用UILabel。我不确定你为什么没有得到更新,但根据我的经验,我通常以这种方式处理这种情况。