UIBarButton忽略了“setEnabled:YES”

3

我遇到了一个问题。我无法想象为什么会发生这种情况,也许你们可以知道。

我在IB中创建了一个UIBarButtonItem并正确地链接它。我设置了属性并合成了它。一开始我将btn设置为禁用状态(viewWillAppear)。然后我尝试向我的mysql数据库添加一个条目:

NSString *URLStr = [NSString stringWithFormat:@"http://www.justfortestingandsoon.com/example.php?entry=%@", myEntry];
URLStr = [URLStr stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
NSLog(@"URLStr: %@",URLStr);
NSURL *addURL = [NSURL URLWithString:URLStr];
NSURLRequest *urlRequest = [NSURLRequest requestWithURL:addURL cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:30.0];
            urlConnectionSet = [NSURLConnection connectionWithRequest:urlRequest delegate:self];

在"didReceiveData..."中,我会检查返回的值是哪个:
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
    NSData *myData;
    myData = data;
    NSString *testString = [[NSString alloc] initWithData:myData encoding:NSASCIIStringEncoding];
    NSLog(@"receivedData: %@", testString);
if ([testString isEqualToString:@"ENABLED"]) {
        self.notificationBtnDeactivate.enabled = YES;
    }
...

我已经调试过了。这一行代码self.notificationBtnDeactivate.enabled = YES;被调用了,但是UI上没有任何明显的变化。
有什么想法吗?
非常感谢!

我曾经看到过viewWillAppear方法的“奇怪”行为。尝试使用viewDidLoad或viewDidAppear,看看是否对你有任何影响。如果是这样,这可能指向viewWillAppear中的一些意外行为。只是一个想法。 - Bart Gottschalk
谢谢帮忙。但是如果我省略viewWillAppear方法,那么“didReceiveData”方法也不能使按钮启用。:( - danielreiser
1个回答

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接