所以我有一个注册页面(以及通过注册过程实现的其他多个地方),它有一个Next按钮,设置为拖动到导航栏上的自定义UIButton。当用户输入他们的注册信息时,我想将文本的颜色从灰色不可用时更改为自定义绿色。我已经阅读了其他一些帖子,例如this one,但他们没有任何帮助。我想我正在做他们告诉我正确的事情,但我得到的结果与我想要的不同。现在我的代码看起来像这样:
-(void)checkCompletion
{
if( emailEntered && passwordEntered && [_password.text length] >= 5)
{
[_nextBarButtonItem setEnabled:YES];
[_nextButton setEnabled:YES];
[_nextButton.titleLabel setTextColor:[UIColor customGreen]];
[_nextButton setTintColor:[UIColor customGreen]];
[_nextBarButtonItem setTintColor:[UIColor customGreen]];
nextAvailable = YES;
}
else
{
nextAvailable = NO;
}
}
_nextBarButtonItem是barButtonItem,_nextButton是我拖动到导航栏上的UIButton,它位于层次结构中的_nextBarBUttonItem下面。 customGreen是一个类别,其头文件#include
' d进入我的prefix.pch,因为我在整个应用中使用了颜色。当文本字段返回时和编辑密码时调用此函数,因此如果用户不想先关闭键盘,我可以在按下返回键之前使按钮可用。
我尝试了几种方法,例如在故事板上将按钮设置为customGreen,并在层次结构中的barButtonItem下禁用barButtonItem和按钮本身,希望它会将其灰显,但按钮仍为绿色,只是无法按下它。我在故事板上将按钮设为灰色,然后调用此功能,但文本最终变为白色而不是绿色。我尝试在设置时明确定义颜色,但我得到了相同的结果。我不希望我的后退按钮变为绿色,只有下一个按钮可以按下。
任何想法我做错了什么?