我正在编写一个应用程序,它使用多个按钮加载视图(以.xib设计)。加载视图时,我以编程方式设置按钮标题。然后我将视图添加为子视图。对于稍纵即逝的第二个,我看到以编程方式设置的标题出现,然后它们变为.xib中的原型标题。
以下是代码:
self.cellPhoneButton.titleLabel.text = person.cellPhone;
self.homePhoneButton.titleLabel.text = person.homePhone;
// Do other stuff with the view
[self.peopleView addSubview:self.personView];
为什么按钮的标题会恢复为默认内容,为什么页面的其他组件(标签,导航栏标题等)不会发生这种情况?
修改
我也试过这段代码但没有成功:
[self.cellPhoneButton setTitle:person.cellPhone forState:UIControlStateNormal|UIControlStateSelected];
[self.homePhoneButton setTitle:person.homePhone forState:UIControlStateNormal|UIControlStateSelected];
// Do other stuff with the view
[self.peopleView addSubview:self.personView];
答案 0 :(得分:5)
您应该使用[self.homePhoneButton setTitle: forState:];
方法设置UIButton
的标题。在你的情况下,状态应为UIControlStateNormal
,这意味着如果你没有明确指定其他状态,控制状态将适用于所有状态。如果将Normal与其他组合,则Normal将被覆盖。