有没有办法检测UISegmentedControl中段的第二次点击?我找到了:
但是,里面说道:
如果您将分段控件设置为瞬态样式,则当用户触摸它时,段不会显示为选定状态(蓝色背景)。披露按钮始终是瞬态的,并且不影响实际选择。
是否有办法检测第二次点击,并触发选择操作并将段显示为选定状态?
如果没有直接的方法来实现,我的想法是,我首先将momentary
标志设置为YES
,然后在每次点击时,手动更新选择状态,但随后我还需要更新/取消其他段。
谢谢
有没有办法检测UISegmentedControl中段的第二次点击?我找到了:
但是,里面说道:
如果您将分段控件设置为瞬态样式,则当用户触摸它时,段不会显示为选定状态(蓝色背景)。披露按钮始终是瞬态的,并且不影响实际选择。
是否有办法检测第二次点击,并触发选择操作并将段显示为选定状态?
如果没有直接的方法来实现,我的想法是,我首先将momentary
标志设置为YES
,然后在每次点击时,手动更新选择状态,但随后我还需要更新/取消其他段。
谢谢
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
current = self.selectedSegmentIndex;
[super touchesBegan:touches withEvent:event];
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
[super touchesEnded:touches withEvent:event];
if (current == self.selectedSegmentIndex)
[self sendActionsForControlEvents:UIControlEventValueChanged];
}
我曾经有一个解决方案,全部写在touchesBegan方法里,但在iOS 7中它不再起作用了。在Stack Overflow上还有其他的解决方案,在iOS 6及更高版本也都不能工作。
[self.segmentCtrlOutlet setSelectedSegmentIndex:UISegmentedControlNoSegment];