显示HUD时,UITextField边框消失

时间:2014-07-30 08:51:13

标签: ios objective-c uitextfield

我有一种奇怪的行为。 我在UITextField上设置了边框:

- (void)viewDidLoad
{
    self.usernameTextField.layer.borderColor    = [[UIColor grayColor] CGColor];
    self.usernameTextField.layer.borderWidth    = 1.0f;
}

并且在执行登录时我在窗口上显示MDProgressHud(因此会自动禁用下面视图上的所有按钮和手势)。

AppDelegate * app = [[UIApplication sharedApplication] delegate];            
self.hud          = [[MBProgressHUD alloc] initWithView:app.window];            
[app.window addSubview:self.hud];

因此,当显示hud时,边框消失......

关于事业的想法?

1 个答案:

答案 0 :(得分:0)

旧问题,但我的边框颜色变化问题。 @ duci9y建议的KVO对解决出错的问题非常有用:

[textField addObserver:self forKeyPath:@"layer.borderColor" options:(NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld) context:nil];

添加观察者:

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
    if([keyPath isEqual:@"layer.borderColor"]) {
        NSLog(@"Border colour changed");
    }
}

我在NSLog上放了一个断点,发现了问题。