2012-03-07 30 views
0

我覺得自己像一個白癡,因爲我與某事鬥爭,應該是非常直接,但在我的Xcode某處有一個隱藏的sabouteur。UIScrollView經典的設計和一個微不足道的問題

UI是在StoryBoard中構建的。

我有一個模式視圖,其中包含一個上部UINavigationBar和一個UIScrollView ...在一個滾動視圖內是一些文本框。 現在我明白,當我開始編輯文本字段中的文本時,會彈出一個鍵盤。沒關係。我正在通過NotificationCenter跟蹤那一刻。

[notificationCenter addObserver:self selector:@selector(keyboardDidShow:) name:UIKeyboardDidShowNotification object:nil]; 

這種情況發生時

-(void)keyboardDidShow:(NSNotification *)notification 
    { 
    ... code changing the frame 
    } 

當然我調用一個選擇,我需要調整滾動視圖,以騰出空間給鍵盤,但只要我附上一個新創建的CGRect「框架「scrollview框架的值,滾動視圖不會根據我的意願調整大小,而是需要vieconntroller視圖的大小減去狀態欄的44個像素。

我已經損失了幾個小時,並且它使我瘋狂。你能幫我嗎?

+0

請顯示您的代碼,在其中設置新框架... – calimarkus 2012-03-07 21:36:59

+0

我第二個議案。將代碼發佈到更改框架的位置?的UIScrollView。另外,UIView中的滾動視圖還是控制器的主視圖? – 2012-03-08 00:23:43

回答

1

第一:爲什麼你需要改變scrollview的框架?無論如何,鍵盤只出現在一切之上。也許一個更方便的方法來捕獲編輯順便說一句UITextFieldDelegate協議,但我想你的方式也很好。

第二:如果您想修改視圖控制器的view屬性,則無法更改該框架。這是全屏(默認情況下,減去狀態欄,減去導航欄)。如果你想動態調整視圖的大小,它必須是self.view的子視圖。

+0

我需要與模式視圖中相同的行爲,當您將新事件添加到iPhone上的iOS5的日曆時顯示。我的模態視圖也有更多的文本框,比物理屏幕可以同時顯示。 – 2012-03-07 22:07:35

+0

因此最好使用簡單的分組表格視圖並以模態方式顯示。我仍然不明白你爲什麼想改變框架。也許你的意思是'contentOffset'? – Mundi 2012-03-07 23:52:17

相關問題