Aug 27, 2021, TIL (Today I Learned) - ScrollView and bounds
4617 ワード
学習内容
この文章はstackoverflowで本稿を説明して残した文章である.
ここには長方形が2つあります.
ScrollView.bounds & contentView
iOSでは、すべてのビューが
view.bounds
で表示されています.UIScrollView
クラスにはviewだけでなく、contentView
というユニークなプログラムもあります.スクロールビューでは
表示される面積は
scollView.bounds
です.総面積は
contentView
で、このビューのサイズはscrollView.contentSize
です.ContentOffsetは?
contentOffset
はscrollView.bounds.origin
と同じ意味です.ContentOffsetのコード実装を見てみましょう.
var contentOffset: CGPoint {
get { return bounds.origin }
set {
var bounds = self.bounds
bounds.origin = newValue
self.bounds = bounds
}
}
bounds.origin
を返す演算プログラムであることがわかります.scrollViewの
contentOffset
の値を変更すると、scrollview.bounds.origin
の値も変化します.起源はね。
ビューの原点を表します.ここで、原点はviewの最左上隅を表します.
imageView.frame.origin
ならimageViewが配置された
superView
座標系では、imageView
座標の始点/例えば
imageView.bounds.origin
自分の座標系の原点、すべてのビューの境界を表します.由来(0,0).
[写真の出所]:iOS)FrameとBounds(1/3)を正しく理解する-開発者
したがって、
contentOffSet
は、スクロールビューにおける画面上の座標系原点を示す.targetContentOffsetとは?
UIScrollViewDelegate
には、次の方法があります.optional func scrollViewWillEndDragging(_ scrollView: UIScrollView,
withVelocity velocity: CGPoint,
targetContentOffset: UnsafeMutablePointer<CGPoint>)
ここでいうtargetContentOffset
とは、スクロールが終了して停止したときのcontentOffSet
のことである.例は分かりやすいです.
次の図は、アレイ内の異なる写真を示していますが、
scrollView
のある時点で、画面には大きな図の一部(scrollView.bounds)が表示されています.つまり、全部で4枚の写真が横に並んだ大きな矩形で、スクロールするたびに画面を通して矩形の一部を見ることができます.このように
前述のように、ユーザがドラッグを完了すると、
contentOffset
と呼ばれています.次の例では、
targetContentOffset
の座標をより明確に表示できます.の最後の部分
targetContentOffset
のscrollView
は本当に混同された概念です勉強中も忘れてしまうので、よくカバーしてあげたいと思います完璧な理解を忘れない日まで!![注意]:
Apple Developer Document | scrollViewWillEndDragging(_:withVelocity:targetContentOffset:)
stackoverflow - What does contentOffset to in a UIScrollView
Reference
この問題について(Aug 27, 2021, TIL (Today I Learned) - ScrollView and bounds), 我々は、より多くの情報をここで見つけました https://velog.io/@inwoodev/Aug-25-2021-TIL-Today-I-Learned-ScrollView-and-boundsテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol