【发布时间】:2014-05-21 12:05:13
【问题描述】:
我已经设置了一个密码字段,并在其下设置了一个UIButton 以将secureTextEntry 切换为YES/NO。
以下是我用过的代码。
- (void)viewDidLoad
{
self.navigationController.navigationBarHidden=YES;
[_ShowPasswordButtonOutlet setImage:[UIImage imageNamed:@"box.png"] forState:UIControlStateNormal];
_password.secureTextEntry=YES;
[super viewDidLoad];
}
- (IBAction)ShowPassword:(id)sender
{
if ([_ShowPasswordButtonOutlet.imageView.image isEqual:[UIImage imageNamed:@"box.png"]])
{
[_ShowPasswordButtonOutlet setImage:[UIImage imageNamed:@"box_tick.png"] forState:UIControlStateNormal];
_password.secureTextEntry=NO;
} else if ([_ShowPasswordButtonOutlet.imageView.image isEqual:[UIImage imageNamed:@"box_tick.png"]])
{
[_ShowPasswordButtonOutlet setImage:[UIImage imageNamed:@"box.png"] forState:UIControlStateNormal];
_password.secureTextEntry=YES;
}
}
上面的代码似乎在 iOS7 和 iOS7.1 中工作。
但在 iOS6.1 中,按钮图像在单击时似乎会发生变化,但 secureTextEntry 从 YES 到 NO 仅工作一次。稍后如果仅单击UIButton,图像会发生变化,secureTextEntry不起作用。
它没有显示任何警告或错误!
【问题讨论】:
-
你在比较
IUIImages?不要那样做,使用布尔标志或只检查_password.secureTextEntry。还可以考虑使用 UISwitch` 而不是UIButton,它有一个状态。同样按照惯例,方法和变量名称以小写字母开头。 -
好的,我使用布尔标志。谢谢你的信息。
标签: ios objective-c uibutton uitextfield ios6.1