UISegmentedControl不响应UIToolbar中的UIControlEventValueChanged

时间:2012-03-26 10:14:30

标签: objective-c ios uitoolbar uisegmentedcontrol

我用一些项目

创建了一个控件
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 {

}

1 个答案:

答案 0 :(得分:1)

之前有一个类似的问题asked and answered(因此可以将UISegmentedControl添加到工具栏中)但我认为这里的问题是您使用了错误的方法来设置项目。我浏览了apple documentation,找不到setItems:方法。请改用setItems:animated:

编辑 - 我通过制作示例项目来检查这一点并且工作正常。我尝试了你的代码和我的建议,它有两种方式!使用断点确保控件进入(或不进入)controlTapped:方法。