UISegmentedControl
2 回目のタップでのセグメントの選択を解除することはできますか? 私は現在 to のオブジェクトを使用していUILongPressGestureRecognizer
ます。ただし、2回目のタップで選択したセグメントの選択を解除したいと思います。setSelectedSegmentIndex
UISegmentedControlNoSegment
質問する
155 次
1 に答える
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
上記のコードは、個々の仕様に合わせてさらに微調整する必要がある場合があります。
于 2012-07-10T04:39:53.063 に答える