Scroll ja - Tai-Kimura/SwiftJsonUI GitHub Wiki
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からすべてのメソッドを継承しています:
- スクロール位置管理(
setContentOffset、scrollRectToVisibleなど) - ズーム機能(
setZoomScale、zoom(to:animated:)など) - SJUIViewからのタッチとジェスチャー処理
- レイアウト制約の管理
- コンテンツサイズの計算と管理