2010-10-09 98 views
0

我正在研究一個非常簡單的iPhone應用程序。我有一個UIToolBar的UIWebView在它的底部有一個按鈕。儘管我創建了一個空的NIB,但我希望最終能讓Facebook Connect與它一起工作,並且在過去沒有使用這個空的NIB進行設置時遇到了問題,所以我通過代碼完成了這一切。iPhone UIImagePickerController將內容向下推送

我已經添加了另一個按鈕,只是坐在頁面中間(用於測試目的,而我建立),調用UIActionSheet。當您在UIActionSheet上選擇一個按鈕時,我將UIImagePickerController彈出一切,以便從我的相機膠捲中選擇一張圖像。

的問題是,當我的UIImagePickerController已經關閉(無論是通過選擇圖像或按下取消按鈕),我所有的頁面上的內容已經由20個像素推下來...

雖然是真的,我可以將所有元素的框架向上移動20像素,這感覺是「黑客」,而我喜歡黑客攻擊,我寧願弄清楚爲什麼會發生這種情況。

有沒有人遇到過這個?你怎麼修好它的?

謝謝

--D

回答

0

是您的應用程序以全屏幕應用程序? UIImagePickerController使狀態欄顯示。使解除UIImagePickerController的方法也隱藏狀態欄。

+0

我的當前應用程序不是全屏,不幸的是,狀態欄會隨時通過應用程序在那裏... – dewberry 2010-10-10 11:34:21

0

我在使用MFMailComposeViewController時遇到類似的問題。當我解僱它時,它會導致屏幕向下移動20個像素。

我猜這跟IB有點關係,因爲我最近一直在採取行動。它認爲即使沒有指定,我認爲有一個狀態欄。在找到正確的解決方案之前,我正在使用CGRectMake來「解決」問題。

我將下面的代碼放在didFinishWithResult方法的底部。這是當我關閉MFMailComposeViewController時調用的方法。當你關閉UIImagePickerController時,你可能會放置相同的代碼。

self.view.frame = CGRectMake(0,0,320,480);

,如果你找出妥善的解決辦法ID愛知道:)

0

設置navigationController.view.frame到CGRectMake(0,0,320,460)在viewWillAppear中。如果您支持風景,那麼如果處於橫向模式,則需要執行CGRectMake(0,0,480,300)。

祝你好運!