0

語境子類UIToolbar和壓倒一切的drawRect: - UIBarButtonItems不顯示

我使用「initWithNavigationBarClass」的方法來初始化一個自定義工具欄一個UINavigationController,這裏是我的Alloc地初始化的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)]; 
    } 

這裏是在相關的viewController代碼,我試圖添加UIBarButtonItems

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

+0

我想我明白了這一點,我正在使用下面的代碼:[self.navigationController.toolbar setItems:items]哪些不起作用。但是,如果我使用self.toolbarItems =它的工作項目。不知道爲什麼? – drc 2013-04-25 17:23:25

回答

0

我試圖用自己的自定義UIToolbar,問題不是來自-(void)drawRect:(CGCrect)rect

我不知道我們是否嘗試在UIToolbar上添加按鈕,但是您應該嘗試將它們添加到您的UIViewController類的-(void)viewDidAppear方法中。這樣它對我有效。

+0

感謝您的答案danypata,請參閱我之前的評論我改爲使用self.toolbarItems,而不是self.navigationController.toolbar setItems:item,並修復了它。任何想法爲什麼? – drc 2013-04-25 18:16:26

+0

所以基本上,Apple Docs指出導航控制器'從活動視圖控制器的toolbarItems屬性中獲取它當前的一組項目。所以基本上設置toolbarItems的正確方法是通過UIViewController.toolbarItems屬性。 – danypata 2013-04-26 06:57:06

+0

@我不相信這是正確的看到:http://stackoverflow.com/questions/16228275/uibutton-hidden-behind-uitoolbar – drc 2013-04-26 20:32:40