Image ja - Tai-Kimura/SwiftJsonUI GitHub Wiki
class: SJUIImageView
inherites: UIImageView
child classes: NetworkImageView
| 属性名 | UIKit | SwiftUI | Compose | XML | jsonでの型 | 詳細 | 備考 |
|---|---|---|---|---|---|---|---|
| src | ✅ | ✅ | ✅ | ✅ | string | imageViewに設定したい画像の名前。 | |
| highlightSrc | ✅ | ✅ | ❌ | ❌ | string | ハイライトされたときにimageViewに設定したい画像の名前。 | |
| contentMode | ✅ | ✅ | ✅ | ✅ | string | imageView.contentMode。デフォルトはUIViewContentMode.center。 リストは以下の通り: AspectFill: UIViewContentMode.scaleAspectFill AspectFit: UIViewContentMode.scaleAspectFit Center: UIViewContentMode.center |
open class var viewClass: SJUIImageView.Typeこのプロパティは、createFromJSONメソッドでどのクラスをインフレートするかを決定するために使用されます。 SJUIImageViewを継承するクラスを作成する際は、このプロパティでビューのクラスを定義する必要があります。
public var canTap: Boolイメージビューがタップされ、タッチイベントに応答できるかどうか。デフォルトはfalse。 trueに設定すると、タッチ処理とジェスチャー認識が有効になります。
internal var filter: SJUIView?タッチ処理と視覚効果に使用される内部フィルタービュー。 タッチ処理システムによって自動的に管理されます。
SJUIImageViewはUIImageViewとSJUIViewからすべてのプロパティを継承します:
- イメージ表示プロパティ(image、highlightedImageなど)
- コンテンツモードとスケーリングオプション
- SJUIViewからのタッチとジェスチャー処理
- レイアウト制約管理
- 表示とスタイルプロパティ
public class func createFromJSON(attr: JSON, target: Any, views: inout [String: UIView]) -> SJUIImageViewイメージビューがJSONファイルから作成される際に呼び出されるファクトリメソッド。
SJUIImageViewクラスを継承するクラスを作成する際は、このメソッドをオーバーライドしてください。
func setMask()適切なタッチイベント処理のための内部タッチ処理マスクを設定します。 タッチ処理が有効になったときに自動的に呼び出されます。
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?)
override func touchesCancelled(_ touches: Set<UITouch>, with event: UIEvent?)
override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?)
override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?)タップイベントと視覚フィードバックを管理するタッチ処理メソッド。 canTapがtrueに設定されている場合のみアクティブになります。
@objc override func onBeginTap()
@objc override func onEndTap()SJUIViewから継承されたカスタムタッチ開始・終了処理。 タッチインタラクション中の視覚フィードバックを提供します。
SJUIImageViewは次のようなタッチイベントをサポートします:
- タッチ処理を有効/無効にする
canTapプロパティ - SJUIViewのタッチ処理システムとの統合
- JSON設定を通じたonclickイベントのサポート
- 継承機能を通じたジェスチャー認識サポート