Table ja - Tai-Kimura/SwiftJsonUI GitHub Wiki
Table
class: SJUITableView inherits: UITableView
Tableの属性
| 属性名 | UIKit | SwiftUI | Compose | XML | jsonでの型 | 詳細 | 備考 |
|---|---|---|---|---|---|---|---|
| background | - | string|JSON | テーブルビューの背景色。柔軟な色指定のためにUIColor.findColorByJSONで処理されます。 |
Tableのプロパティ
静的プロパティ
open class var viewClass: SJUITableView.Type
このプロパティは、createFromJSONメソッドでどのクラスを生成するかを決定するために使用されます。 SJUITableViewを継承したクラスを作成する際は、このプロパティでビューのクラスを定義してください。
デフォルト設定
SJUITableViewは、以下のデフォルト設定を適用します:
separatorStyle = .none- デフォルトのセル区切り線を削除showsVerticalScrollIndicator = false- 垂直スクロールインジケーターを非表示showsHorizontalScrollIndicator = false- 水平スクロールインジケーターを非表示
継承されたプロパティ
SJUITableViewは、UITableViewとSJUIViewからすべてのプロパティを継承しています:
- データソースとデリゲートの管理
- セルの登録と再利用機能
- セクション管理(ヘッダー、フッター)
- 編集と選択機能
- スクロール位置とコンテンツ管理
- SJUIViewからのタッチとジェスチャー処理
- レイアウト制約の管理
Tableの関数
静的メソッド
public class func createFromJSON(attr: JSON, target: Any, views: inout [String: UIView]) -> SJUITableView
このメソッドは、JSONファイルからテーブルビューが作成される際に呼び出されるファクトリメソッドです。 SJUITableViewクラスを継承したクラスを作成する際は、このメソッドをオーバーライドしてください。
データソースとデリゲートの統合
SJUITableViewは、UITableViewのデータソースとデリゲートパターンとシームレスに統合されます:
- ターゲットがUITableViewDelegateに準拠している場合の自動デリゲート割り当て
- ターゲットがUITableViewDataSourceに準拠している場合の自動データソース割り当て
- すべての標準テーブルビューコールバックとメソッドのサポート
継承されたメソッド
SJUITableViewは、UITableViewとSJUIViewからすべてのメソッドを継承しています:
- セル管理(
dequeueReusableCell、cellForRowなど) - セクション管理(
numberOfSectionsInTableViewなど) - 編集機能(
setEditing、deleteRows、insertRowsなど) - 選択処理(
selectRow、deselectRowなど) - スクロール管理(
scrollToRow、setContentOffsetなど) - SJUIViewからのタッチとジェスチャー処理
- レイアウト制約の管理
使用上の注意
- カスタムテーブルビューセルとデータソースとの統合用に設計
- 区切り線とスクロールインジケーターが無効化されたクリーンな外観を提供
- すべての標準UITableView機能とカスタマイズをサポート
- SwiftJsonUIのレイアウトとスタイリングシステムと統合