无法更改UIButton属性标题

时间:2014-06-25 08:50:06

标签: ios objective-c

我试图更改按钮的属性标题。更改应在NSURLConnection请求之后进行,因此将其置于完成处理程序中。

当应用程序打开时,代码运行良好,但是在代码中的某些时候我想再次更改标题,但它没有改变。这就是我在做的事情:

[NSURLConnection sendAsynchronousRequest:urlRequest queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
    [[NSOperationQueue mainQueue] addOperationWithBlock:^{
        NSString *city = [cities firstObject];
        NSMutableAttributedString *subTitleOne = [[NSMutableAttributedString alloc] initWithString:@"something "];
        NSMutableAttributedString *subTitleTwo = [[NSMutableAttributedString alloc] initWithString:city.uppercaseString];
        [subTitleTwo addAttribute:NSForegroundColorAttributeName value:[UIColor colorWithRed:0.1 green:0.8 blue:0.44 alpha:1]  range:NSMakeRange(0, [NSString stringWithFormat:@"%@", city.uppercaseString].length)];
        [subTitleOne appendAttributedString:subTitleTwo];

        [_sidebarButton setAttributedTitle:subTitleOne forState:UIControlStateNormal];
        [_sidebarButton.titleLabel setAdjustsFontSizeToFitWidth:YES];
    }];
}];

我正在退出主要排队的街区,因为它改变了用户界面并且我不希望它被延迟。现在,当我稍后运行代码时,标题不会改变,但是如果我点击按钮它会改变。它有什么问题?

1 个答案:

答案 0 :(得分:0)

我发现了问题。按钮位于导航栏中,点击时会打开侧栏。当用户滑动时,它也会打开侧边栏,但是按钮被卡在选定位置上。因此,由于属性标题设置为正常,因此不会发生变化。

相关问题