UIScrollView のスクロール関連のプロパティについて。
スクロール方向を固定する
斜め方向のスクロールを制限する場合、UIScrollView
の directionalLockEnabled
に YES
をセットする。
ただ、まれに斜め方向にスクロールしてしまう (正確に斜め方向にドラッグされた場合?)。
ドラッグ開始前後の位置を取得し、移動後にスクロール位置を矯正するよう実装する。
以下の UIScrollViewDelegate
を使用する。
- (void)scrollViewWillBeginDragging:(UIScrollView*)scrollView
- (void)scrollViewDidScroll:(UIScrollView*)scrollView
参考: http://iphone-dev.g.hatena.ne.jp/tokorom/20101002/1285998723
追記
- (void)scrollViewWillBeginDragging:(UIScrollView*)scrollView
だけでスクロール方向を取得する方法があったので、参考リンクを追加
UITableView/UIScrollViewでスクロール直後のスクロール方向を取得する
スクロール速度を変更する
正確にはスクロールが減速するスピードの比率。
UIScrollView
の decelerationRate
に UIScrollViewDecelerationRateFast
を設定すると減速するスピードが早くなる (スクロール停止が早くなる→スクロール速度が遅くなったように見える)
scrollView.decelerationRate = UIScrollViewDecelerationRateFast;
参考: UIScrollView Class Reference
0 件のコメント:
コメントを投稿