我正在使用带有 StoryBoards 的 iOS 5.1。我想改变标准页面卷曲按钮的色调,但我似乎也做不到。
该按钮位于视图控制器上,是导航控制器的推送视图控制器。工具栏是推断出来的,因为我更改了导航控制器上的色调。工具栏以所需的颜色出现。
我的 viewDidLoad 方法如下:
- (void)viewDidLoad
{
[super viewDidLoad];
// adjust the color of the curl button
if (self.curlButton) {
NSMutableArray * toolbarItems = [self.toolbarItems mutableCopy];
[toolbarItems removeObject:self.curlButton];
UIColor *barColor = self.navigationController.toolbar.tintColor;
UIBarButtonItem *newPageCurl = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemPageCurl target:self.curlButton.target action:self.curlButton.action];
newPageCurl.tintColor = barColor;
NSLog(@"%@", newPageCurl.tintColor);
[toolbarItems addObject:newPageCurl];
self.toolbarItems = toolbarItems;
}
}
self.curlButton
是在 Interface Builder 中配置的页面卷曲按钮的出口。
我已经尝试将色调设置为self.curlButton
,最初为 nil,但这不起作用,按钮是相同的蓝色色调。
SO上的一些答案说你必须以编程方式创建一个新按钮,这就是我在这里尝试的。
我已验证barColor
包含正确的颜色。我注释掉了这removeObject
条线并且正确地产生了两个卷曲按钮,但都是蓝色的。
NSLog 验证newPageCurl
按钮是否设置了正确的色调。
我尝试这样做viewDidAppear
,以防需要首先显示工具栏,但按钮仍然是蓝色并且没有使用新的色调。