Ios UITextField边框在显示HUD时消失
我有一种奇怪的行为。 我在UITextField上设置了边框: 在执行登录时,我会在窗口上显示一个MDProgressHud,以便在下面的视图中自动禁用所有按钮和手势Ios UITextField边框在显示HUD时消失,ios,objective-c,uitextfield,Ios,Objective C,Uitextfield,我有一种奇怪的行为。 我在UITextField上设置了边框: 在执行登录时,我会在窗口上显示一个MDProgressHud,以便在下面的视图中自动禁用所有按钮和手势 AppDelegate * app = [[UIApplication sharedApplication] delegate]; self.hud = [[MBProgressHUD alloc] initWithView:app.window]; [app.wi
AppDelegate * app = [[UIApplication sharedApplication] delegate];
self.hud = [[MBProgressHUD alloc] initWithView:app.window];
[app.window addSubview:self.hud];
所以,当显示hud时,边界消失
你知道原因吗 老问题,但我的边框颜色变化有问题。@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上设置了一个断点,发现了问题。在哪里设置边界?如何显示进度HUD?将KVO观察器连接到文本字段的图层的borderColor属性,并找出其更改的位置和时间(如果更改)。我不知道如何使。。。请写一个答案,如果有效的话,我可以接受这不是这里的工作方式。您需要了解正在使用的平台的基本编程模式。请自己查一下。
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
if([keyPath isEqual:@"layer.borderColor"]) {
NSLog(@"Border colour changed");
}
}