我有一个从笔尖创建的自定义键盘。在首选项视图中,用户可以输入流流警告的数字。数字可以基于每秒的立方英尺,这总是一个正整数值。数字也可以基于流量计高度,可以是正浮子或负浮子。
所以,我有一个自定义数字键盘,它有一个正负(+/-)按钮和一个小数点。当选择仅需要正整数的文本字段时,我需要禁用和隐藏这些按钮。
我已在视图控制器上声明了这些按钮的属性,这些按钮启动了自定义数字键盘,但调用setHidden或setEnabled对运行时按钮的状态没有影响。当提供这些设置器的NO值为启用时,YES为隐藏提供时,按钮仍然可见并启用。按钮由自定义图像表示,但我觉得我应该能够在代码中隐藏它们。我错过了什么吗?
在下面的代码示例中,我正在调用一个方法来设置文本字段的一些启用属性,这些属性都按计划运行。在设置属于单独nib的控件的属性时,我是否缺少一些东西?
-(void)prefsNotificationChanged{
NSInteger selection = segNotificationPreference.selectedSegmentIndex;
switch (selection) {
case 0:{ // CFS
[self setInputPrefsFor:txtMinCFS and:txtMaxCFS withLabels:lblMinCFS and:lblMaxCFS forEnabledState:YES];
[self setInputPrefsFor:txtMinFeet and:txtMaxFeet withLabels:lblMinHeight and:lblMaxHeight forEnabledState:NO];
[self.btnNumPosNeg setEnabled:NO];
[self.btnNumPosNeg setHidden:YES];
break;
}
case 1:{ // Gauge Height
[self setInputPrefsFor:txtMinFeet and:txtMaxFeet withLabels:lblMinHeight and:lblMaxHeight forEnabledState:YES];
[self setInputPrefsFor:txtMinCFS and:txtMaxCFS withLabels:lblMinCFS and:lblMaxCFS forEnabledState:NO];
[self.btnNumPosNeg setEnabled:YES];
[self.btnNumPosNeg setHidden:NO];
break;
}
case -1:{ // None
[self setInputPrefsFor:txtMinCFS and:txtMaxCFS withLabels:lblMinCFS and:lblMaxCFS forEnabledState:NO];
[self setInputPrefsFor:txtMinFeet and:txtMaxFeet withLabels:lblMinHeight and:lblMaxHeight forEnabledState:NO];
break;
}
default: break;
}
}
属性声明(我还没有尝试为btnNumDot实现状态):
@property (nonatomic,strong) IBOutlet UIButton *btnNumDot;
@property (nonatomic,strong) IBOutlet UIButton *btnNumPosNeg;
.m文件:
@synthesize btnNumDot, btnNumPosNeg;
谢谢!