我希望使用UITableView重现Netflix的tvOS应用程序的滚动行为。
当您在Netflix上滚动应用程序的项目时,焦点行和即将到来的行始终处于相同位置。
根据UITableView的默认行为,焦点行的位置因行而异。
我怎么能实现这个目标?
答案 0 :(得分:0)
UIScrollViewDelegate
方法scrollViewWillEndDragging:withVelocity:targetContentOffset:
将允许您控制焦点引擎在滚动视图上设置的内容偏移:如果您调整targetContentOffset
参数指向的值,则焦点引擎会在那里滚动。
所以你应该实现那个方法,并使用你喜欢的任何方法来计算正确的偏移应该是什么,然后在指针中设置值:
- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset
{
CGPoint defaultOffset = *targetContentOffset;
CGPoint newOffset = myFunctionThatAdjustsTheOffset(defaultOffset);
*targetContentOffset = newOffset;
}