0
NetflixのtvOSアプリケーションのスクロール動作をUITableViewで再現しようとしています。スクロール時にtvOSテーブルビューの行を固定位置に維持する
Netflix上のアプリケーションの項目をスクロールすると、フォーカスされた行と次の行は常に同じ位置にあります。
UITableViewのデフォルトの動作では、フォーカスされた行の位置は行によって異なります。
これをどのように達成できますか?
NetflixのtvOSアプリケーションのスクロール動作をUITableViewで再現しようとしています。スクロール時にtvOSテーブルビューの行を固定位置に維持する
Netflix上のアプリケーションの項目をスクロールすると、フォーカスされた行と次の行は常に同じ位置にあります。
UITableViewのデフォルトの動作では、フォーカスされた行の位置は行によって異なります。
これをどのように達成できますか?
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;
}
これは魔法をした:
だからあなたは正しいがあるべきオフセット何を計算して、ポインタの値を設定することが好きな方法でその方法、および使用を実装する必要があります。ありがとうございました! –