我有一系列分段控件,在发生“Value Changed”事件时调用方法。
我的问题是,如果用户执行从控件开始的多点触摸手势,则值会发生变化:四指向上滑动(切换应用)或五指捏(返回主屏幕)。我已经尝试更改方法以仅响应“Touch Up Inside”事件,但分段控件仍然会使用多点触控手势更改值。
是否有某种方法可以对UISegmentedControl进行子类化,以便只有在控件中出现UIControlEventValueChanged(如果单个段中存在“touch up inside”事件?)
非常感谢!
答案 0 :(得分: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