0
我需要有可能將選中的行放在框架的中間。所以如果我選擇第一行或最後一行,這一行需要位於中心,而不是剪切到tableview的頂部(或底部)(如UIPickerView
)。UITableView選中的行在框架中間
這是我在scrollViewWillEndDragging
代碼:
- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView
withVelocity:(CGPoint)velocity
targetContentOffset:(inout CGPoint *)targetContentOffset {
CGFloat rowHeight = [delegate rowHeightForMyPickerView:self];
CGFloat floatVal = targetContentOffset->y/rowHeight;
NSInteger rounded = (NSInteger)(lround(floatVal));
targetContentOffset->y = rounded * rowHeight;
NSLog(@"Offset: %f Float: %f Row: %d",targetContentOffset->y,floatVal,rounded);
[delegate myPickerView:self isOverRow:rounded];
}
有了這個代碼,我創建捕捉效果,但rounded
是不正確的行。使用雙倍高度更改第一個和最後一個單元格高度會使問題消失,但我不喜歡該解決方案。
是不是我所需要,例如,如果我有3個可見行,我需要把第一行(索引= 0)在所述第二位置,從而:一個空白空間,row0,row1與我需要的最後一行相同:最後一行,最後一行,空格 – kikko088