私はSwiftのTextFieldに関する質問があります
クリックするとTextFieldのテキストをクリアできますか
私のtextfiled.text = "0"
textfiledをクリックすると、数字の「0」が削除されます。
import UIKit
class ViewController: UIViewController, UITextFieldDelegate {
@IBOutlet var lbltext: UILabel!
@IBOutlet var scrolview1: UIScrollView!
@IBOutlet var fi: UITextField!
@IBOutlet var scrolviewus: UIScrollView!
@IBOutlet var counterLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
fi.text = "0"
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func button(sender: AnyObject) {
lbltext.numberOfLines = 0
lbltext.text! = lbltext.text! + "\n" + fi.text! + "\n" + "--- "
}
}
この方法を使用して、
テキストフィールドを手動でクリアする場合は、次のコードを使用します。
textField.text = ""
編集を開始するときにテキストフィールドを空にする場合は、以下のデリゲートメソッドを使用します。
func textFieldDidBeginEditing(textField: UITextField) {
textField.text = ""
}
複数のテキストフィールドを使用している場合は、次の方法を使用します。
func textFieldDidBeginEditing(textField: UITextField) {
if (textField == oneTextField) {
textField.text = ""
}
else if (textField == anotherTextField) {
// Perform any other operation
}
}
単にtextFieldDidBeginEditing
メソッドを使用して、フォーカスの変更を処理し、テキストをクリアします。
func textFieldDidBeginEditing(textField: UITextField) {
textField.text = ""
}
func textFieldDidBeginEditing(textField: UITextField)
{
if fi.text == "0"
{
fi.text = ""
}
}
SwiftでTextFieldを簡単にクリアできます
emailTextField.text?.removeAll()
passwordTextField.text?.removeAll()
confirmPasswordTextField.text?.removeAll()
func textFieldDidBeginEditing(textField: UITextField) {
fi.text = ""
}
func textFieldDidEndEdition(textField: UITextField) {
if fi.text isEqualToString:@"" {
fi.text = @""
}
}
探しているものに応じて、この問題を解決できる方法がいくつかあります。 1つ目は、テキストを0に設定する代わりにプレースホルダーを使用することです。プレースホルダーは、ユーザーが入力を開始すると消え、何も入力しないと再表示されます。
fi.placeholder = "0"
0を単なるプレースホルダーではなく値にしたい場合は、テキストフィールドの編集/入力/戻り値などを追跡する多くの組み込みメソッドがあります。ただし、これにはUITextFieldDelegateの実装が必要です。これは既に実行済みのようです。
var isFirstTime = true
override viewDidLoad() {
super.viewDidLoad()
fi.delegate = self
}
func textViewDidBeginEditing(textView: UITextView) {
isFirstTime = false
if fi.text == "0" {
fi.text = ""
}
}
func textViewDidEndEditing(textView: UITextView) {
if fi.text.isEmpty {
fi.text = "0"
isFirstTime = true
}
}
ユーザーが選択した場合にユーザーが0を入力できるように、varは初めて存在します。ユーザーが0を入力できない場合は、削除することができます。