2014-05-20 93 views
0

UIViewController包含UITableView(總是在頂部,相同的寬度與上海華)和UITextView(總是根據UITableView 10.0f),如下:自動佈局與UITableView的

enter image description here

現在我想在鍵盤出現時使用自動佈局來提高UITextView。我爲UITableView添加以下約束(粘在上面,並且總是在UITextView 10.0f的頂部):

  • UITableView:寬度(320),高度(706),左,右,上,下( 10.0f)
  • UITextView:寬度(280),高度(44),左,右

enter image description here

我分配IBOutletUITableView's高度約束,並修改其在碼值。例如,當鍵盤出現時,UITableView的高度將減少-216.0f(鍵盤的高度),因此,UITextView將在鍵盤頂部擡起(因爲UITextView總是在UITableView 10.0f)。

所以,這就是我的預期。但是,對於唯一的第一步,在運行應用程序時,UITableView佔用了整個屏幕,而我沒有看到我的UITextView。我的約束有什麼問題嗎?

回答

0

鍵盤的默認行爲是覆蓋屏幕,自動佈局無法解決它,因爲它不是你的佈局原本的一部分,我寫了一個類別,將爲您提供這個功能here,只是#import它到你的viewController和它應該只是工作

+0

雖然如果你想要你的桌面打擊當鍵盤顯示,這種解決方案不會爲你工作,這只是整個屏幕上移 – Fonix

+0

不要打擾鍵盤的行爲。問題出在我上面的約束上,當UIViewController第一次出現時,我看不到我的UITextView。 – chipbk10

+0

哦,我看,你的viewcontroller看起來很長,出於某種原因,你有你的tableViews高度設置爲706,但最長和iPhone屏幕可以是568(480爲3.5「設備)我認爲你需要調整你的viewController在故事板 – Fonix