TextField ja - Tai-Kimura/SwiftJsonUI GitHub Wiki

🇺🇸 English | 🇯🇵 日本語

TextField

class: SJUITextField inherites: UITextField

TextField の属性

属性名 UIKit SwiftUI Compose XML jsonでの型 詳細 備考
font string textFieldのフォント名。
fontSize float textFieldのフォントサイズ。
fontColor string textField.textColor。
hint string NSLocalizedString(hint, comment:"")がtextField.hintに設定されます。
hintFont string textFieldのヒントフォント名。
hintFontSize float textFieldのヒントフォントサイズ。
hintColor string ヒントのフォント色。
fieldPadding float textFieldの右側の内部スペース。
textAlign string textField.textAlignmentとtextField.contentHorizontalAlignment。リストは以下の通り:Left: NSTextAlignment.leftRight: NSTextAlignment.rightCenter: NSTextAlignment.center
borderStyle string textField.borderStyle。デフォルトはUITextBorderStyle.none。リストは以下の通り:RoundedRect: UITextBorderStyle.roundedRectLine: UITextBorderStyle.lineBezel: UITextBorderStyle.bezel
input string textField.keyboardType。デフォルトはシステムデフォルト。この属性が「password」の場合、textField.isSecureTextEntryがtrueに設定されます。この属性が「number」または「password」の場合、いくつかの追加属性が利用可能です。リストは以下の通り:alphabet: UIKeyboardType.alphabetemail: UIKeyboardType.emailAddresspassword: UIKeyboardType.asciiCapablenumber: UIKeyboardType.numberPaddecimal: UIKeyboardType.numberPad
returnKeyType string textField.returnKeyType。デフォルトはUIReturnKeyType.doneリストは以下の通り:Done: UIReturnKeyType.doneDone: UIReturnKeyType.doneNext: UIReturnKeyType.nextSearch: UIReturnKeyType.searchSend: UIReturnKeyType.sendGo: UIReturnKeyType.goRoute: UIReturnKeyType.routeYahoo: UIReturnKeyType.yahooGoogle: UIReturnKeyType.google
onTextChange string この属性でUIControlEvents.editingChangedイベントを定義できます。この属性で作成されたSelectorがイベントに設定されます。

入力タイプ「number」と「decimal」の属性

属性名 UIKit SwiftUI Compose XML jsonでの型 詳細 備考
secure boolean textField.isSecureTextEntry。
accessoryBackground boolean textField.inputAccessoryView.backgroundColor。
accessoryTextColor string textField.inputAccessoryViewのラベルのテキスト色。
doneText string resignFirstResponderするためのtextField.inputAccessoryViewのラベルのテキスト。

TextField のプロトコル

SJUITextFieldDelegate

@objc public protocol SJUITextFieldDelegate

UITextFieldDelegateを超えた追加機能を持つSJUITextField用のデリゲートプロトコル。

@objc optional func textFieldDidDeleteBackward(textField: UITextField)

削除/バックスペースキーが押されたときに呼び出されます。カスタム削除動作の処理に役立ちます。

TextField のプロパティ

静的プロパティ

open class var viewClass: SJUITextField.Type

このプロパティは、createFromJSONメソッドでどのクラスをインフレートするかを決定するために使用されます。 SJUITextFieldを継承するクラスを作成する際は、このプロパティでビューのクラスを定義する必要があります。

static var accessoryBackgroundColor: UIColor

入力アクセサリービューの背景色(デフォルト:gray)。

static var accessoryTextColor: UIColor

入力アクセサリービューラベルのテキスト色(デフォルト:blue)。

static var defaultBorderColor: UIColor

テキストフィールドのデフォルトボーダー色(デフォルト:lightGray)。

インスタンスプロパティ

public var placeholderAttributes: [NSAttributedString.Key : Any]?

フォント、色、その他のテキスト属性を含むプレースホルダーテキストのスタイル設定用属性辞書。

private var _sjUiDelegate: SJUITextFieldDelegate?

削除キーの押下などの特殊イベントを処理する内部デリゲート参照。

オーバーライドプロパティ

override var delegate: UITextFieldDelegate?

UITextFieldDelegate機能をSJUITextFieldDelegate機能で拡張するカスタムデリゲートプロパティ。

TextField の関数

静的メソッド

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

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

オーバーライドメソッド

override func deleteBackward()

SJUITextFieldDelegateメソッドtextFieldDidDeleteBackwardを呼び出すカスタム削除処理。 標準のUITextField動作を超えた追加コールバック機能を提供します。

継承メソッド

SJUITextFieldはUITextFieldとSJUIViewからすべてのメソッドを継承します:

  • テキスト入力と編集メソッド
  • イベント処理とデリゲートメソッド
  • レイアウト制約管理
  • タッチとジェスチャー処理
  • キーボードと入力アクセサリー管理

イベント処理

SJUITextFieldはさまざまな入力イベントをサポートします:

  • editingChangedイベント用のonTextChange
  • returnKeyTypeを通じたリターンキー処理
  • SJUITextFieldDelegateを通じたカスタム削除キー処理
  • 数値キーボード用の「完了」ボタン付き入力アクセサリービュー
  • 動的テキスト更新用のバインディングシステムとの統合