在我的iPad應用程序中,我保存了彈出窗口的狀態(可見/不可見)。因此,在應用程序啓動期間,我初始化UIPopoverController,並通過使用presentPopoverFromBarButtonItem:permittedArrowDirections:animated:來告訴它顯示自己。對於第一個參數(UIBarButtonItem),我使用self.navigationItem.rightBarButtonItem。但是,彈出窗口不斷顯示在屏幕的左側(而不是目標按鈕的下方)。顯示UIPopoverController時奇怪的行爲
應用程序啓動後,行爲如預期。任何建議如何解決這個問題?
爲了您的信息,我初始化rightBarButtonItem,並將其分配給navigationItem在viewDidLoad方法,並要求酥料餅提出自己之前。我試圖在viewWillAppear和viewDidLoad中調用popover,但效果是一樣的。
我最好的選擇是使用presentPopoverFromRect:inView:permittedArrowDirections:動畫:代替,而「猜測」這取決於設備的方向的位置。
更新:當我旋轉的iPad中,酥料餅確實跳轉到正確的位置。看來barButtonItem的位置只是在最後一分鐘才確定,並且在我問我的popover出現之後。
在viewDidAppear中如何?我有點期待在第一個viewWillAppear:call發生的時候,這些視圖還沒有實際佈置。 – imaginaryboy 2010-09-15 20:12:15
不,沒有任何viewWillAppear或viewDidAppear方法的運氣。這真是太古怪了。視圖確實顯示後,我點擊右邊的ButtonButtonItem,一切都很好。 – 2010-09-15 20:28:13
同樣的問題...任何發現? – rjobidon 2010-12-04 03:44:55