0
두 번째로 탭하여 UISegmentedControl
세그먼트를 선택 취소 할 수 있습니까? 현재 개체를 setSelectedSegmentIndex
~ UISegmentedControlNoSegment
에 사용하고 있습니다. 그러나 두 번째 탭에서 선택한 세그먼트를 선택 취소해야합니다.UISegmentedContol의 세그먼트에 대한 상호 배타적 토글 동작
두 번째로 탭하여 UISegmentedControl
세그먼트를 선택 취소 할 수 있습니까? 현재 개체를 setSelectedSegmentIndex
~ UISegmentedControlNoSegment
에 사용하고 있습니다. 그러나 두 번째 탭에서 선택한 세그먼트를 선택 취소해야합니다.UISegmentedContol의 세그먼트에 대한 상호 배타적 토글 동작
또 다른 방법은 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
위의 코드는 개별 사양에 맞게 추가 조정이 필요할 수 있습니다.