【发布时间】:2013-04-25 15:43:02
【问题描述】:
上下文
我正在使用“initWithNavigationBarClass”方法来初始化带有自定义工具栏的 UINavigationController,这是我分配初始化 UINavigationController 的行
navigationController = [[UINavigationController alloc] initWithNavigationBarClass:nil toolbarClass:[QuestionToolbar class]];
是类,“QuestionToolbar”,我继承UIToolbar并覆盖drawrect,这里是drawRect方法:
- (void)drawRect:(CGRect)rect
{
[super drawRect:rect];
UIImage *backgroundImage = [UIImage imageNamed:@"44px_background_red.png"];
[backgroundImage drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
}
这是我尝试添加 UIBarButtonItems 的 viewController 中的相关代码
UIBarButtonItem *spacer = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
UIBarButtonItem *beginItem = [[UIBarButtonItem alloc] initWithTitle:@"Begin Quiz" style:UIBarButtonItemStylePlain target:self action:@selector(beginAction:)];
[beginItem setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: [UIColor whiteColor], UITextAttributeTextColor,nil] forState:UIControlStateNormal];
NSArray *items = [NSArray arrayWithObjects:spacer, beginItem, spacer, nil];
[self.navigationController.toolbar setItems:items];
[self.navigationController setToolbarHidden:NO];
问题
如何将 UIBarButtonItems 添加到此工具栏,因为当我尝试添加它们时它们不显示?
我认为这与我的重写 drawRect 有关
【问题讨论】:
-
我想我明白了,我使用的是这段代码:[self.navigationController.toolbar setItems:items] 没有用。但是,如果我使用 self.toolbarItems = items 它就可以了。不知道为什么?
标签: ios uinavigationcontroller uibarbuttonitem uitoolbar drawrect