2012-10-30 130 views
1

我正在尋找轉換我的標準UIToolbar(不透明的黑色與基於文本的按鈕),到一些更多的圖形。大概就像以下(從黑莓應用程序所):自定義UIToolbar,蘋果允許什麼?

enter image description here

這是否違背了人性化界面的指導方針?我以前見過這種爲UITabbar完成的自定義類型,但從來沒有爲UIToolbar完成。如果我有一個編輯按鈕,執行基本的編輯任務,如允許我刪除表中的一行。如果我有我自己的EDIT圖形,Apple會如何感受?

此外,而不是創建我自己的UIToolbar或UIToolbar的子類,並修改它以適應我的需要,我不能只是將一堆UIButtons與自定義圖形並排放在一起,看起來像一個工具欄?

回答

0

我認爲您必須確保在定製時遵循蘋果指南。否則他們會拒絕。

你可以看到工具欄準則here科:酒吧 - >工具欄

1

並且不會有與蘋果訪問的任何問題,你不要有任何的子類只是把其他組件添加到您的工具欄:

-(UIToolbar *) toolBarActive { 
if(_toolBarActive == nil) { 
    _toolBarActive = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 360, 320, 60)]; 
    [_toolBarActive setBackgroundImage:[UIImage imageNamed:@"image.png"] forToolbarPosition:UIToolbarPositionAny barMetrics:UIBarMetricsDefault]; 
    _toolBarActive.tintColor = [UIColor blackColor]; 
    [_toolBarActive setBackgroundColor:[UIColor blackColor]]; 
    UIBarButtonItem *flexibleSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil]; 
    NSMutableArray *arrayItem = [[NSMutableArray alloc] init]; 
    [arrayItem addObject:flexibleSpace]; 
    [arrayItem addObject:self.buttonItem1]; 
    [arrayItem addObject:flexibleSpace]; 
    [arrayItem addObject:self.buttonItem2]; 
    [arrayItem addObject:flexibleSpace]; 
    [arrayItem addObject:self.buttonItem3]; 
    [arrayItem addObject:flexibleSpace]; 
    [arrayItem addObject:self.buttonItem4]; 
    [arrayItem addObject:flexibleSpace]; 
    [_toolBarActive setItems:arrayItem animated:YES]; 
} 
return _toolBarActive; 

}

其中例如buttonItem1定義爲:

- (UIBarButtonItem *) buttonItem1 { 
    if(_buttonItem1 == nil) { 
     _uttonItem1 = [[UIBarButtonItem alloc] initWithCustomView:self.button1]; 
     [_buttonItem1 setEnabled:YES]; 
     [_buttonItem1 setBackgroundVerticalPositionAdjustment:100.0f forBarMetrics:UIBarMetricsDefault]; 
    } 
    return _buttonItem1; 
} 

and button1 defined as:

- (UIButton *) button1 { 
    if(_button1 == nil) { 
     _button1 = [[UIButton alloc] initWithFrame:CGRectMake(5, 5, 50, 50)]; 
     [_button1 addTarget:self action:@selector(addNewImage) forControlEvents:UIControlEventTouchUpInside]; 
     [_button1 setImage:[UIImage imageNamed:@"image.png"] forState:UIControlStateNormal]; 
    } 
    return _button1; 
}