【发布时间】:2014-06-04 10:58:50
【问题描述】:
UISegmentedControl 遇到了一个非常奇怪的问题,这种简单的界面元素不会出现这种问题。我在我的 Storyboard 中为我的表格视图设计了一个静态单元格(表格视图有 8 个单元格,其中许多带有界面元素,如步进器和工作正常的标签),其中包含一个 UISegmentedControl。我将接口对象链接到以下正确的方法:
@property (strong, nonatomic) IBOutlet UISegmentedControl *plantHealthSegmentedControl;
- (IBAction)plantHealthValueChanged:(id)sender;
奇怪的是,当我在viewDidLoad 方法中初始化分段控件时,界面对象并没有改变故事板编辑器中设置的默认值。这是在我的表格视图的实现文件中用于修改它的代码:
plantHealthSegmentedControl = [[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObjects:@"Excellent", @"Good", @"Poor", @"Dead", nil]];
plantHealthSegmentedControl.tintColor = gardenGreenColor;
plantHealthSegmentedControl.selectedSegmentIndex = 0;
我的plantHealthValueChanged 方法如下(它总是将 -1 记录为所选索引)
- (IBAction)plantHealthValueChanged:(id)sender {
NSLog(@"Segmented control index = %i", plantHealthSegmentedControl.selectedSegmentIndex);
}
非常感谢您对这个奇怪问题的任何帮助!
【问题讨论】:
标签: ios objective-c cocoa-touch uitableview uisegmentedcontrol