2012-08-10 78 views
2

我目前有一個左邊欄按鈕圖像UBINBUTTON的UINavigationBar。有沒有辦法消除這個按鈕和UINavigationBar左邊緣之間的空間?我想過爲UINavigationBar的背景製作一個自定義圖像,但我希望能夠使用在其他屏幕上生成的後退按鈕。想法?消除UINavigationBar左邊欄和左邊欄按鈕之間的空間

回答

0

導航欄本身的佈局邏輯將要嘗試在左側維持該空間。您可以嘗試在設置導航項目(UIBarButtonItem initWithCustomView :)時指定自定義視圖,並傳入負x源視圖 - 但我假設導航欄會忽略任何此類原點。 (您也可以嘗試保留對該視圖的引用,並在導航欄完成其佈局後將其移至左側)

另一種選擇是嘗試創建自己的自定義導航欄 - 可能通過放置導航欄中心的自定義視圖,並將其拉伸以覆蓋條的高度&。

0

試試這個,它爲我工作:

CGRect frame = self.navigationController.navigationBar.frame; 
frame.origin.x = -10; 
self.navigationController.navigationBar.frame = frame; 

基本上,設置導航欄x座標爲負面並不欄項目。

0

在ios7你可以只添加一個虛擬barbuttonitem 固定你應該添加虛擬的第一左空間,對權作爲最後

例如,對於離開,你應該設置你的原始項目後,或在viewDidLoad中如果添加此你正在使用故事板設置按鈕。

NSMutableArray *buttons = [[NSMutableArray alloc] init]; 
UIBarButtonItem *spacerItem = [[UIBarButtonItem alloc] init]; 
[buttons addObject:spacerItem]; 
for(UIBarButtonItem *item in self.leftBarButtonItems){ 
    [buttons addObject:item]; 
} 
[self setLeftBarButtonItems:[NSArray arrayWithArray:buttons] animated:NO]; 
相關問題