我遇到了UITableView
問題,特別是scrollToRowAtIndexPath
。這裏我們分別設置一個section-header-height和row-height。稍後,當顯示鍵盤時,我調整了tableview的大小並使用scrollToRowAtIndexPath
滾動到當前涉及的單元格。問題是,在嘗試3種不同類型的定位之後,只有UITableViewScrollPositionTop
被正確定位,而UITableViewScrollPositionMiddle
和UITableViewScrollPositionBottom
被錯置。我這裏還有截圖:iOS UITableView scrollToRowAtIndexPath行爲不正確
象中所示的圖像中,頂部定位把排在頂部,而中部和底部定位在放大約1行了中間行的(對於)。這隻發生在這個視圖(它在其他視圖上工作正常)。
tableview有固定的邊距和靈活的寬度/高度(由IB中的所有標記表示爲鮮紅色)。
我試着檢查tableview的原點,它表示0,0。當我將origin.y移動幾個像素時,tableview會向下移動這個量,所以這不是由tableview原點造成的。
我已經使用這個代碼來獲得調整前的indexPath(注意,這正常工作的其他意見):
NSIndexPath *indexPath = [tblView indexPathForRowAtPoint:self.frame.origin];
//resize the tableview
[tblView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionMiddle animated:YES];
爲什麼是這個位置換檔發生的任何想法?
在此先感謝。