我用一些项目
创建了一个控件NSArray *items = [NSArray arrayWithObjects: @"First", @"Second", @"Third", nil];
UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:items];
我将目标添加到控件
[segmentedControl addTarget:self
action:@selector(controlTapped:)
forControlEvents:UIControlEventValueChanged];
比我将我的分段控件添加到工具栏
[toolbar setItems:[NSArray arrayWithObject:
[[[UIBarButtonItem alloc]initWithCustomView:segmentedControl]autorelease]]];
因此,segmentedControl不响应用户点击。
这是空的空方法
-(void) controlTapped:(id)sender {
}
答案 0 :(得分:1)
之前有一个类似的问题asked and answered(因此可以将UISegmentedControl
添加到工具栏中)但我认为这里的问题是您使用了错误的方法来设置项目。我浏览了apple documentation,找不到setItems:
方法。请改用setItems:animated:
。
编辑 - 我通过制作示例项目来检查这一点并且工作正常。我尝试了你的代码和我的建议,它有两种方式!使用断点确保控件进入(或不进入)controlTapped:
方法。