2014-03-27 84 views
0

我有一個用IB設計的UIScrollView。iOS 7.1爲什麼我的UIScrollView滾動顯示鍵盤?

UIView 
    UIScrollView 
    UIView 
     UITextField 
     UIButton 
     ... 

如果我點擊文本字段,視圖會在鍵盤出現之前向屏幕的左上角滾動。鍵盤上方的空間保持空白。如果我在這個空白區域拖動,我可以向後滾動視圖。

我搜索了一下,但只發現用戶想要滾動UIScrollView的貼子。我希望視圖保持在原來的位置。

在此先感謝您的任何建議。

+0

你是否在文本視圖委託中添加了任何代碼? – CW0007007

+0

在我之間隱藏鍵盤返回。 – Michael

+0

如果您在用戶點擊文本視圖時禁用scrollView上的滾動,會發生什麼情況? – CW0007007

回答

2

這是發生了什麼事。

  1. 您在Interface Builder中設計了整個事情。

  2. 滾動視圖沒有滾動,讓你在代碼中設置其contentSize滾動視圖的主要子視圖的大小(我喜歡稱之爲內容視圖)。

  3. 滾動視圖是仍然不滾動,所以你消除了內容插入 - 這導致了你在這裏帶來的問題。

您的錯誤是(3)。相反,你應該更多地考慮(2),即爲什麼我的滾動視圖不滾動,即使我給了它一個不錯的大內容大小?

答案是,在自動佈局開啓的故事板或xib中,這不是你所做的。你所做的是在內容視圖中使用約束條件,在所有四條邊上使用其超級視圖(滾動視圖)。將所有四個約束的constant設置爲零。這會導致內容大小自動匹配內容視圖的大小

+0

再次:非常感謝@matt – Michael

+0

沒問題!我很抱歉花了這麼長時間才把它弄出來。 – matt

+0

將「所有四個約束都設爲零」是什麼意思? – Ryan