簡體   English   中英

UITableView滾動到單元格的頂部

[英]UITableView scroll to the top of the cell

我有一個帶有3個靜態單元格的UITableViewController。 一種在頂部的高度為60.0,另一種在底部的尺寸相同。 中間單元格的高度是動態的,而且很大,以至於所有3個單元格一起占據了整個屏幕。
中間的單元格包含一個UITextView,它填充了整個單元格。
我的問題是,當我想在TextView中鍵入內容時,當鍵盤抬起時,tableview會自動滾動,在手動向后滾動之前,看不到包含光標的單元格頂部。
有什么辦法可以防止表格視圖自動滾動? 還是告訴它應該滾動到單元格的頂部,以便我看到光標?

我已經嘗試重寫viewWillAppear(_:)方法而不調用該方法的super方法,但是我無法手動手動滾動tableview,因此當鍵盤可見時我無法到達最后一個單元格。
我也嘗試過手動滾動到textViewDidBeginEditing(_:)內部的單元格,但它什么都沒改變。 我的方法看起來像這樣。

func textViewDidBeginEditing(textView: UITextView) {
    let indexPath = NSIndexPath(forRow: 1, inSection: 0)
    self.tableView.scrollToRowAtIndexPath(indexPath, atScrollPosition: .Top, animated: true)
}

我不知道我還能嘗試什么,所以感謝您的幫助。

好了,您可以像這樣設置tableView的contentInset:

self.tableView.contentInset = UIEdgeInsets(top: 0, left: 0, bottom: 80, right: 0)

因此,您可以使用底部來補償所需的偏移量。

mainTableView.scrollsToTop = true

要么

mainTableView.setContentOffset(CGPointZero, animated:true)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM