2016-05-19 40 views
0

我剛加入堆棧溢出。我在這裏和互聯網上查了很多例子,但還沒有找到解決我的問題的方法(可能錯過了,如果我有道歉)。iOS UIViewController DatePicker阻塞TableViewCell

問題 - 在iPhone上:

目前,我有一個在屏幕上的UIViewController有被釘在父視圖頂部一個UIView。在它下面我有一個TableView與各種不同的單元格。這些單元格包含文本字段和其他控件。

所以問題是當我專注於文本字段時,彈出鍵盤並阻止單元格的用戶視圖。我已修復使用鍵盤通知將顯示和隱藏機制。

但是,我有一個單元格,其中包含兩個標籤,但其輸入視圖是一個DatePicker,它出現在鍵盤通常位置。當焦點出現在這個單元格上時,tableview不會向上滾動。

有沒有人見過這個?

當鍵盤彈出的文本框我得到通知,並運行下面的代碼:

UIEdgeInsets contentInsets = new UIEdgeInsets(0.0f, 0.0f, height, 0.0f); 
UIView.BeginAnimations(null, IntPtr.Zero); 
UIView.SetAnimationCurve(args.AnimationCurve); 
UIView.SetAnimationDuration(args.AnimationDuration); 
TableView.ContentInset = contentInsets; 
TableView.ScrollIndicatorInsets = contentInsets; 

高度計算過,從通知的參數。

回答

0

解決方案1:

如果要在焦點出現在電池標籤上滾動tableview中,你可以去https://www.cocoacontrols.com/controls/bizpickerviewcontrollerhttps://www.cocoacontrols.com/controls/iqactionsheetpickerview

將有委託方法,在那裏你可以調整你的tableview位置。

溶液2:

可以通過調整日期選擇器視圖的幀實現的解決方案。就像關注標籤時你可以從底部顯示日期選擇器視圖一樣。這意味着你可以通過計算日期選擇器的高度來調整tableview的位置。但你無法單獨調整細胞的位置。

希望這會幫助你。

+0

感謝您的回覆 - 我以爲我已經在做那樣的事情了。我用示例代碼更新了我的問題,當發生鍵盤通知時會發生什麼。你是這個意思嗎? – Robert