2011-11-02 88 views
1

我正在自定義UINavigationBar並且必須將自定義背景圖像設置爲導航按鈕。這是這樣完成的:自定義UIButton圓角

for (UIView *view in self.navigationController.navigationBar.subviews) { 
    if ([[[view class] description] isEqualToString:@"UINavigationButton"]) { 
     UINavigationButton *button = {(UINavigationButton *)view}; 
     [button setBackgroundImage:[UIImage imageNamed:@"bar_button.png"] forState:UIControlStateNormal]; 
     [button setBackgroundImage:[UIImage imageNamed:@"bar_button_black.png"] forState:UIControlStateSelected]; 
     [button setBackgroundImage:[UIImage imageNamed:@"bar_button_black.png"] forState:UIControlStateHighlighted]; 
    } 
} 

這不會被蘋果拒絕嗎? 如何讓UIButton/UIView的四角變圓?

回答

2

使用您的自定義圖像創建您的自定義按鈕作爲正常的UIButtons。然後用你的新UIButton作爲自定義視圖創建UIBarButtonItems(你可以看到如何在UIBarButtonItem類的引用中做到這一點)。

然後,設置您的視圖控制器的navigationItem使您的新UIBarButtonItems作爲leftButtonItem,rightButtonItem等。

+0

好的。看起來沒有其他選擇。謝謝。 – Misha

0

而不是像這樣做。取一個UIButton,然後將它添加到導航按鈕。

3

A UIView對象有一個名爲layer(CALayer)的屬性,並且layer具有cornerRadius屬性。