这就是发生的事情,“男性”是主要的,所以它仍然被选中,当我选择“女性”时会发生这种情况,请告诉我为什么男性没有取消选择自己?
这就是我所做的连接段 Controller 为IBOutlet
:
@property (weak, nonatomic) IBOutlet UISegmentedControl *genderSelection;
然后在
viewDidLoad
:[
self.genderSelection addTarget:self action:@selector(MySegmentControlAction:) forControlEvents: UIControlEventValueChanged];
- (void)MySegmentControlAction:(UISegmentedControl *)segment
{
if(segment.selectedSegmentIndex == 0)
{
// code for the first button
NSLog(@"MALE");
}
else if(segment.selectedSegmentIndex == 1)
{
NSLog(@"Female");
}
这是我的属性检查器:
最佳答案
您必须取消选择“if”选项中的其他段。
所以
- (void)MySegmentControlAction:(UISegmentedControl *)segment
{
if(segment.selectedSegmentIndex == 0)
{
//You can use segment.selectedSegmentIndex = 0; instead
[segment setSelectedSegmentIndex:0];
// code for the first button
NSLog(@"MALE");
}
else if(segment.selectedSegmentIndex == 1)
{
//You can use segment.selectedSegmentIndex = 1; instead
[segment setSelectedSegmentIndex:1];
NSLog(@"Female");
}
所以你可以无限地在 0 和 1 之间切换。
正如 Mrunal 所建议的那样,如果您使用更动态的选择可能会更好
[segment setSelectedSegmentIndex:segment.selectedSegmentIndex];
关于ios - 在 UISegment iOS 中选择另一个段时如何取消选择一个段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29118686/