2014-01-10 15 views
0

背景:我有一個視圖控制器,它具有標題視圖(UIView),頁腳視圖(UIView),表視圖和其上的搜索欄(UISearchBar)。這是使用xib製作的。我需要在popover中呈現這個。這樣做,一切工作正常。內容中的表視圖未能正確調整大小的彈出框的視圖控制器

問題:當我啓動搜索鍵盤時,問題就開始了。關鍵板縮小了彈出窗口的大小。正因爲如此,我看不到我桌子的底部細胞。我不知道爲什麼。我的猜測是它沒有正確調整大小。

我試過了:我試圖用鍵盤通知來降低桌子的高度。它的工作原理,但我想要一個更優雅的解決方案,也想要我做錯了什麼?

這是特定於iOS 6.0的。它的工作原理罰款7.0

編輯 在進一步的測試,我發現,我的解決方案是不工作:(

任何幫助表示高度讚賞感謝

視圖控制器架構廈門國際銀行: enter image description here

+0

您是否使用約束?你有沒有嘗試設置controller.view.autoResizingMask = UIViewAutoResizingFlexibleHeight和tableView.autoResizingMask = UIViewAutoResizingFlexibleHeight並使您的頁眉和頁腳視圖的頁眉和頁腳的tableView? –

+0

@GeorgeGreen:是...自動調整掩碼設置在xib中。我忘了提及..不,我不使用約束。 –

+0

在你的問題中,當你說「在它上面」時,你的意思是它的觀點的子視圖嗎?你有一個標準的UITableView,還是一個子類? autoresizing是否明確設置在層次結構中的所有視圖上?你能粘貼一些你的代碼/ IB的屏幕截圖嗎? –

回答

1

確保在彈出窗口中設置了視圖控制器的所需大小 這可以通過兩種方式完成:您可以覆蓋v上的方法contentSizeForViewInPopover您顯示酥料餅內,像這樣IEW控制器:

- (CGSize)contentSizeForViewInPopover 
{ 
    // return the size WITHOUT a navigationbar height 
    return CGSizeMake(320, 300); 
} 

和/或可以在酥料餅的設置屬性,像這樣:

// if your inner viewcontroller is a UINavigationViewController, return the size WITH the 
// navbar height 
self.popover.popoverContentSize = CGSizeMake(320, 344); 

通知的意見。

+0

我在viewcontroller的viewdidload中設置contentSizeForViewInPopover :( –

+0

@PrathameshSaraf我認爲這爲時已晚,嘗試覆蓋該方法,看看是否有效。 –

相關問題