我试图更改按钮的属性标题。更改应在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];
}];
}];
我正在退出主要排队的街区,因为它改变了用户界面并且我不希望它被延迟。现在,当我稍后运行代码时,标题不会改变,但是如果我点击按钮它会改变。它有什么问题?
答案 0 :(得分:0)
我发现了问题。按钮位于导航栏中,点击时会打开侧栏。当用户滑动时,它也会打开侧边栏,但是按钮被卡在选定位置上。因此,由于属性标题设置为正常,因此不会发生变化。