我正在使用IOS開發人員庫中的示例來管理鍵盤。 Text, Web and Edition Programming GuideIOS管理鍵盤 - 向上移動UIScrollView內容
我已經使用IB創建了一個視圖。它是一個簡單的UI,它有一個UIScrollView,UITextView,UIButton和一個UITextField。我將UIScrollView放在我的視圖上,然後將所有其他控件添加爲此滾動視圖的子項。滾動視圖通過IBOutlet「scrollView」暴露給viewcontroller。
下面的代碼在用戶設置焦點到textField時執行,但我從不會看到滾動條出現,滾動條的內容也不會移動。我應該能夠默認看到滾動條嗎?有人能告訴我我錯過了什麼嗎?
-(void) keyboardWasShown:(NSNotification *)aNotification{
NSDictionary * info = [aNotification userInfo];
CGSize kbSize = [[info objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size;
UIEdgeInsets contentInsets = UIEdgeInsetsMake(0.0, 0.0, kbSize.height, 0.0);
scrollView.contentInset = contentInsets;
scrollView.scrollIndicatorInsets = contentInsets;
// If active text field is hidden by keyboard, scroll it so it's visible
// Your application might not need or want this behavior.
CGRect aRect = self.view.frame;
aRect.size.height -= kbSize.height;
if (!CGRectContainsPoint(aRect, activeField.frame.origin)) {
CGPoint scrollPoint = CGPointMake(0.0, activeField.frame.origin.y-kbSize.height);
[scrollView setContentOffset:scrollPoint animated:YES];
}
}
同樣,我直接從鏈接中的IOS編程指南中獲取此代碼。 UI佈局看起來像一個基本的聊天窗口。我想在軟鍵盤可見時將「輸入」字段向上移動。謝謝! 更新
看來我需要添加一些填充來實際看到位於滾動視圖底部的控件。
CGPoint scrollPoint = CGPointMake(0.0, (activeField.frame.origin.y - kbSize.height) + 10.0);
我怎麼沒看到滾動條?
你的問題標題建議你問 「我如何將我的scrollcontent了?」而你的問題實際上是「爲什麼滾動條指標不可見?」或「如何使滾動條指示器可見?」。你可能想編輯它。 – Aberrant