Scroll ja - Tai-Kimura/SwiftJsonUI GitHub Wiki

🇺🇸 English | 🇯🇵 日本語

Scroll

class: SJUIScrollView inherites: UIScrollView

Scrollの属性

属性名 UIKit SwiftUI Compose XML jsonでの型 詳細 備考
showsHorizontalScrollIndicator - boolean scrollview.showsHorizontalScrollIndicator。デフォルトはfalseです。
showsVerticalScrollIndicator - boolean scrollview.showsVerticalScrollIndicatorデフォルトはfalseです。
maxZoom - float scrollview.maximumZoomScale。
minZoom - float scrollview.minimumZoomScale。
paging - boolean scrollview.isPagingEnabled。デフォルトはシステムデフォルトです。
bounces - boolean scrollview.bounces。デフォルトはシステムデフォルトです。
scrollEnabled - boolean scrollview.scrollEnabled。デフォルトはシステムデフォルトです。
contentInsetAdjustmentBehavior - string scrollView.contentInsetAdjustmentBehavior。デフォルトはシステムデフォルトです。リストは以下の通りですautomatic: UIScrollView.ContentInsetAdjustmentBehavior.automaticalways: UIScrollView.ContentInsetAdjustmentBehavior.alwaysnever: UIScrollView.ContentInsetAdjustmentBehavior.neverscrollableAxes: UIScrollView.ContentInsetAdjustmentBehavior.scrollableAxes
onclick - string この属性でonclickイベントを定義できます。この属性で作成されたセレクターはUITapGestureRecognizerに設定され、UITapGestureRecognizerがビューに追加されます。

Scrollのプロパティ

静的プロパティ

open class var viewClass: SJUIScrollView.Type

このプロパティは、createFromJSONメソッドでどのクラスを生成するかを決定するために使用されます。 SJUIScrollViewを継承したクラスを作成する際は、このプロパティでビューのクラスを定義してください。

継承されたプロパティ

SJUIScrollViewは、UIScrollViewとSJUIViewからすべてのプロパティを継承しています:

  • コンテンツサイズとオフセットの管理
  • ズームスケールプロパティ(maximumZoomScale、minimumZoomScale)
  • スクロールインジケーターと動作設定
  • SJUIViewからのタッチとジェスチャー処理
  • レイアウト制約の管理
  • UIScrollViewDelegateのデリゲートサポート

Scrollの関数

静的メソッド

public class func createFromJSON(attr: JSON, target: Any, views: inout [String: UIView]) -> SJUIScrollView

このメソッドは、JSONファイルからスクロールビューが作成される際に呼び出されるファクトリメソッドです。 SJUIScrollViewクラスを継承したクラスを作成する際は、このメソッドをオーバーライドしてください。

デリゲートサポート

SJUIScrollViewは、ターゲットがUIScrollViewDelegateに準拠している場合、自動的にターゲットをデリゲートとして設定します。 これにより、以下のようなスクロールイベントの処理が可能になります:

  • scrollViewDidScroll(_:)
  • scrollViewDidEndScrollingAnimation(_:)
  • ズーム機能のためのviewForZooming(in:)
  • scrollViewDidZoom(_:)

イベント処理

SJUIScrollViewは、以下を通じてタッチイベントをサポートします:

  • タップジェスチャー認識のためのonclick属性
  • SJUIViewのタッチ処理システムとの統合
  • 完全なUIScrollViewジェスチャー認識(パン、ピンチなど)
  • JSON属性を通じたカスタム角丸サポート

継承されたメソッド

SJUIScrollViewは、UIScrollViewとSJUIViewからすべてのメソッドを継承しています:

  • スクロール位置管理(setContentOffsetscrollRectToVisibleなど)
  • ズーム機能(setZoomScalezoom(to:animated:)など)
  • SJUIViewからのタッチとジェスチャー処理
  • レイアウト制約の管理
  • コンテンツサイズの計算と管理