我正在使用Xcode5的故事板来创建一个应用程序,iOS SDK7.0。
我将一个按钮拖到了视图中。我想让我的按钮默认显示"A“。下面是按钮的属性:类型:系统,状态配置:默认,标题:普通
我希望我的按钮在选中状态下显示"B“。因此,更改后的按钮属性为: State Config: Selected
在按钮的属性检查器中的控件下,有一个名为Selected的属性。如果我选中了Selected,而不是显示"B",它只是高亮显示,就像A上的一个标记,即看不到任何字符。
我在XCODE中运行了它。WHen该按钮未被选中"A“按预期显示,但当我选择该按钮时,该按钮的文本部分用浅蓝色突出显示,而不是显示B。此外,我从未选择控件下突出显示的内容。
如何解决这个问题,以便我可以正确地显示状态?
发布于 2013-10-05 14:41:46
您需要将按钮的标题设置为'B‘,同时在故事板中将状态配置设置为Selected。然后,您需要将操作连接到按钮的Touch Up Inside事件。在该操作内部,切换按钮的selected
属性。
当您在属性检查器下选中' selected‘时,您只是将按钮的初始选定状态设置为YES。XCode还向您展示了按钮在该状态下的外观。
发布于 2014-03-12 03:10:23
对于任何通过代码设置按钮标题的人,我在iOS 7.1中发现,您需要显式地为各种按钮状态设置标题,而在iOS 7.0中,为UIControlStateNormal设置标题也可以用于其他按钮状态。
// works on 7.0
[self.ibActionButton setTitle:NSLocalizedString(@"Register", nil) forState:UIControlStateNormal];
// works on 7.1
[self.ibActionButton setTitle:NSLocalizedString(@"Register", nil) forState:UIControlStateNormal|UIControlStateDisabled];
发布于 2013-10-05 14:45:18
我发现这是Xcode5中的一个bug,也就是说,当我们在按钮的Control下检查selected属性时,它不会在button上显示selected状态。它在我们运行应用程序的模拟器中工作。我们需要为按钮执行一个目标操作,并切换选中状态,如下所示
- (IBAction)flipButton:(UIButton *)sender {
sender.selected=!sender.isSelected;
}
https://stackoverflow.com/questions/19198858
复制