0

我有一系列分段控件,它们在发生“值更改”事件时调用方法。

我的问题是,如果用户执行从控件开始的多点触控手势,值会发生变化:四指向上滑动(切换应用程序)或五指捏合(返回主屏幕)。我尝试更改方法以仅响应“Touch Up Inside”事件,但无论如何,分段控件仍会通过多点触控手势更改值。

是否有某种方法可以将 UISegmentedControl 子类化,以便 UIControlEventValueChanged 仅在单个段存在“内部修饰”事件时发生在控件上?

非常感谢!

4

1 回答 1

1

问题是您的 UISegmentedControl 响应“UIControlEventValueChanged”。如果您只希望在内部触摸时调用您的方法,则让 UISegmentedControl 响应“UIControlEventTouchUpInside”。您不需要继承或覆盖任何东西。

UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button addTarget:self action:@selector(yourMethod:)
 forControlEvents:UIControlEventTouchUpInside];

在这里可以找到可用的控制事件:https ://developer.apple.com/library/ios/documentation/uikit/reference/UIControl_Class/Reference/Reference.html

于 2013-09-07T07:44:52.247 回答