iOS:如何在不使用“iSegmentControl”的情况下禁用UISegmentControl;dimm";-效果如何?
我尝试将UISegmentControl集成到我的应用程序中,它应该只显示当前状态。这意味着我不希望分段控件是可触摸的 我试过:iOS:如何在不使用“iSegmentControl”的情况下禁用UISegmentControl;dimm";-效果如何?,ios,Ios,我尝试将UISegmentControl集成到我的应用程序中,它应该只显示当前状态。这意味着我不希望分段控件是可触摸的 我试过: passwdStrength = (UISegmentedControl *)[cell viewWithTag:99]; tintcolor = [UIColor colorWithRed:255.0/255.0 green:0.0/255.0 blue:0.0/255.0 alpha:1.0]; [passwdStrength setTintColor:tintc
passwdStrength = (UISegmentedControl *)[cell viewWithTag:99];
tintcolor = [UIColor colorWithRed:255.0/255.0 green:0.0/255.0 blue:0.0/255.0 alpha:1.0];
[passwdStrength setTintColor:tintcolor];
[passwdStrength setTitle:lang(@"PW_STRENGTH_WEAK") forSegmentAtIndex:0];
[passwdStrength setTitle:lang(@"PW_STRENGTH_MEDIUM") forSegmentAtIndex:1];
[passwdStrength setTitle:lang(@"PW_STRENGTH_STRONG") forSegmentAtIndex:2];
passwdStrength.enabled = NO;
passwdStrength.alpha = 1.0f;
分段控件不再可触摸,但颜色(在红色、黄色和绿色之间切换)变暗。我搜索了一个答案,找到了一个信息,当片段被禁用时,它的alpha值被设置为0.5f。因此,我尝试手动将alpha值设置为1,但不起作用
有人知道如何在不使元素颜色变暗的情况下禁用触摸式UISegmentControl吗?解决方案不是禁用
UISegmentedControl
,而是禁用其上的用户交互。这样,就不会应用“dimm”效果,用户也无法单击控件
如果您使用的是interface builder(xib/storyboard),请选择您的UISegmentedControl
,下面是配置的外观:
如果要按代码执行此操作:
passwdStrength.enabled = YES;
passwdStrength.userInteractionEnabled = NO;
解决方案不是禁用
UISegmentedControl
,而是禁用其上的用户交互。这样,就不会应用“dimm”效果,用户也无法单击控件
如果您使用的是interface builder(xib/storyboard),请选择您的UISegmentedControl
,下面是配置的外观:
如果要按代码执行此操作:
passwdStrength.enabled = YES;
passwdStrength.userInteractionEnabled = NO;
UISegmentedControl是UIControl的子类,而UIControl又是UIView的子类,因此您可以将控件的userInteractionEnabled属性设置为等于NO。这将防止触及分段控件。