2012-06-22 63 views
0

我有一個帶有工具欄的導航欄控制器。工具欄左側只有一個按鈕:信息燈。當我將視圖旋轉到橫向時,工具欄仍然存在,但按鈕不見了。視圖處於橫向模式時工具欄上的信息燈消失

我該如何讓它留下來。我在IB查看了我的struts工具欄。它們被設置爲留在工具欄的左下角。

我正在使用基本SDK 4.0版的iPod touch進行測試。

下面是代碼:

UIButton *info = [UIButton buttonWithType:UIButtonTypeInfoLight]; 
[info addTarget:self 
      action:@selector(infoTap:) 
    forControlEvents:UIControlEventTouchUpInside]; 
/** Allocate and initialize the information button on the leftside of the toolbar. 
*/ 
UIBarButtonItem *infoItem = [[UIBarButtonItem alloc] initWithCustomView:info]; 
/** Use this to put space in before your info toolbar button. 
    */ 
UIBarButtonItem *flexItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil]; 
/** Add buttons to the array. 
    */ 
NSMutableArray *items = [NSMutableArray arrayWithObjects: infoItem, flexItem, nil]; 
/** Add array of buttons to toolbar. 
    */ 
[self.toolbar setItems:items animated:NO]; 
/** Add the toolbar as a subview to the navigation controller. 
    */ 
[self.navigationController.view addSubview:toolbar]; 

有什麼建議?

阿曼達

+0

你爲什麼使用UIBarButtonSystemItemFlexibleSpace?如果按鈕位於工具欄的最左側,則不需要該按鈕。 –

回答

0

您發佈的代碼是你想做的事是正確的,所以問題的關鍵在於內支持代碼。

我會檢查幾件事: 封閉的視圖(self.navigationController.view)在循環中被調整大小?

什麼是self.navigationController.view上的struts和autoresizingmasks?

什麼是UIToolbar上的struts和autoresizingmasks? (我不確定你的意思是:「我檢查了我的IB中的工具欄的支柱,它們被設置爲留在工具欄的左下角。」工具欄怎麼能留在左下角工具欄?)。

相關問題