是否可以通过第二次点击来取消选择UISegmentedControl
的一部分?我目前正在使用UILongPressGestureRecognizer
对象setSelectedSegmentIndex
到UISegmentedControlNoSegment
。但是,我宁愿在第二次点击时取消选择所选的段。
答案 0 :(得分:0)
另一种方法是继承UISegmentedControl
。例如:
@interface ToggleSegmentedControl : UISegmentedControl
{
NSUInteger selectedSegment;
}
@end
@implementation ToggleSegmentedControl
-(id)initWithFrame:(CGRect)frame
{
if (self = [super initWithFrame:frame])
{
selectedSegment = self.selectedSegmentIndex;
}
return self;
}
-(void)awakeFromNib
{
selectedSegment = self.selectedSegmentIndex;
}
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
if( selectedSegment == self.selectedSegmentIndex && selectedSegment!=-1)
{
self.selectedSegmentIndex= UISegmentedControlNoSegment;
selectedSegment=-1;
}
else
{
selectedSegment=self.selectedSegmentIndex;
}
}
@end
以上代码可能需要进一步调整以适应各个规格。