2013-05-07 87 views
4

我有問題來創建自定義導航欄像Uber app自定義IOS應用程序導航欄按鈕

screenshot

我設置我的按鈕背景圖片:

UIImage *button44 = [[UIImage imageNamed:@"navButtonAdd"] 
        resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)]; 

[[UIBarButtonItem appearance] setBackgroundImage:button44 forState:UIControlStateNormal 
             barMetrics:UIBarMetricsDefault]; 

,但如果我從Xcode的界面上的按鈕刪除文本消失,它的形象,以及還存在在右側填充,重新開始重複我的圖像。

screenshot

有誰知道我怎麼能解決這個問題?

這是我想如果我沒有記錯的話,你需要在一個的UIBarButtonItem自定義視圖提前

+0

請使用顯示您所指按鈕的圖像更新您的文章。這會比讓用戶去應用程序商店並嘗試確定哪個屏幕快照以及哪些按鈕意味着更好。 – rmaddy 2013-05-07 00:36:28

+0

尚未測試該應用程序,但其「導航欄」是否也像一個隨便的UINavigationBar?我認爲它不只是一個定製的UINavigationBar,而是一個普通的UIView或類似的東西,因爲通常的項目不能像應用程序中那樣獲得「自由格式」。順便說一句,下次面臨同樣的問題:) – geo 2013-05-07 00:46:12

+0

@geo是的,它使用應用程序時,就像一個隨便的導航欄。只是按鈕是不同的。 rmaddy很抱歉,謝謝Jano編輯我的帖子。 – 2013-05-07 00:53:31

回答

2
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"button"]]]; 
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"uberbar.png"] forBarMetrics:UIBarMetricsDefault]; 

作爲一個按鈕使用

screenshot

由於圖像。所以你可以得到外觀代理,爲控制器設置圖像,或者直接定製圖像。該填充是對圖形進行photoshopping並正確設置其尺寸的問題。

+0

感謝您的幫助,我對IOS很有新意,所以我會嘗試使用自定義按鈕的基本樣式導航,我嘗試了您的解決方案並且沒有工作,但我確信我在某種方式上做錯了,我已經有了自定義的導航欄模式,並且頂部的代碼似乎沒有替換默認的按鈕樣式 – 2013-05-07 18:51:44

+0

發佈一個github示例,它使用了相同大小的圖形資源,然後再次詢問。可能有人會願意分叉並修復它。 – Jano 2013-05-08 01:37:35