2016-05-07 23 views
5

i hızlıMetin alanını nasıl temizlerim?

yılında TextFiled hakkında soru varsa nasıl ben TextFiled açık metin zaman ben mi

benim textfiled.text tıklayabilirsiniz = "0" i numarayı kaldırmak textfiled tıkladığınızda istediğiniz

"0" automatica

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" + "--- " 
    } 
} 
+1

Muhtemelen ilgili: http://stackoverflow.com/questions/28530167/objective-c-auto-erase-nstextfield-string –

+0

i kullanıyorum hızlı –

+1

Yani, aynı ne kavramı. –

cevap

12

bu yöntemi kullanın,

elle metin alanı kullanacağım bu kodu silmek istiyorsanız

: Eğer Düzenlemeye başlamak aşağıda temsilci yöntemini kullandığınızda boşaltmak için metin alanını istiyorsanız

textField.text = "" 

:

0123:

func textFieldDidBeginEditing(textField: UITextField) { 
    textField.text = "" 
} 

birden metin alanlarını kullanıyorsanız, aşağıdaki yöntemi kullanın

+0

daima hoş geldiniz size 's iş –

+1

Ok teşekkür teşekkür ederim –

+0

Ne textfiled ikisini 1, 2, var ve ilk 1textfiled tıkladığımda, "0" kaldırmak ve sonra ben ikinci tıkladığınızda eğer textfiled2 "0", kaldıracak textfiled2 veya –

1

Aradığınızı bağlı olarak, bu sorunu çözmenin birkaç yolu vardır. Eğer 0 değeri değil olmak istiyorsanız

fi.placeholder = "0" 

: İlk onlar hiçbir şey yazarsanız kullanıcı yazmaya başladığında her kaybolur ve yeniden görünür 0'a bir yer tutucu metnini ayarlamak yerine bir yer tutucu kullanmaktır sadece bir yer tutucu, bir metin alanının düzenleme/girme/geri dönüşü/vs izlemenin birçok yolu vardır. Bu, UITextFieldDelegate uygulamasının gerçekleştirilmesini gerektirir, ancak daha önce yaptığınız gibi görünür.

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 
    } 
} 

İlk kez yalnızca var, kullanıcının seçtiğinde 0 yazabilmesi için var. Kullanıcı 0 yazamazsa, o zaman kaldırılabilir.

+0

çok teşekkürler, kodunuz benimle çalışmaz func textFieldDidBeginEditing'i kullanmalıyız –

+0

Whoops, doğru olan soruyu yanlış yazıyor. Esasen aynı şey. Diğer cevaplara, büyük ölçüde eksik oldukları için dikkatli olun; Metni her zaman düzenlemeye başlamak üzere "" olarak ayarlarsanız, kullanıcı alana yazdıkları her ne olursa olsun, alana girerse silinir. – treyhakanson

+0

oh tamam –

4

Odak değişikliğini işlemek ve metni temizlemek için textFieldDidBeginEditing yöntemini kullanmanız yeterlidir.

func textFieldDidBeginEditing(textField: UITextField) { 
    textField.text = "" 
} 
+0

thank işin –

2
func textFieldDidBeginEditing(textField: UITextField) 
{ 
    if fi.text == "0" 
    { 
     fi.text = "" 
    } 
} 
+0

işe yaradı –

1
func textFieldDidBeginEditing(textField: UITextField) { 
     fi.text = "" 
    } 

func textFieldDidEndEdition(textField: UITextField) { 

    if fi.text isEqualToString:@"" { 
      fi.text = @"" 
    } 

} 
İlgili konular