2011-06-12 60 views
0

如何檢測用戶何時選擇文本字段?我想刪除UItextField.Text當用戶選擇了UItextField。例如,我有一個默認文本「輸入您的用戶名」的用戶名字段。我想在UITextField成爲第一響應者時刪除文本。如何檢測當UITextField是第一個響應者

回答

1

首先添加文本框的改變性質類似:

[nameText addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged]; 

然後在此創建textFieldDidChange方法:

- (IBAction)textFieldDidChange:(id)sender 
{ 
NSString* nm = [[NSString alloc] init]; 
NSString* ys = [[NSString alloc] init]; 

if(sender == nameText) 
{ 

    nameText.textColor = [UIColor clearColor]; 
    [nameLabel setText:nm]; 

} 
else 
{ 
    yasText.textColor = [UIColor clearColor]; 
    [yasLabel setText:ys]; 
} 
} 

這是示例代碼,你可以在你的目的改變它。

+0

非常感謝你 – user794317 2011-06-12 11:57:58

+0

不客氣。如果你認爲答案是正確的,你可以投票,然後其他有相同問題的人可以很快得到答案。 – 2011-06-12 12:22:46

+0

我試過投票但我應該有15個聲望... – user794317 2011-06-12 13:41:11

8

請嘗試改用UITextField佔位符屬性。

例如:

UITextField *userName= [[UITextField alloc] 
       initWithFrame:CGRectMake(110, 10, 185, 30)]; 
userName.placeholder = @"enter your user name"; 

就是這樣。你完成了。蘋果將​​爲您處理剩下的事情,所以它比嘗試自己做所有事情更好。

+0

+1這是你的使用情況更好的選擇。 – 2011-06-12 10:55:22

+0

@albertamg @Richard tahnk你非常,但我surches在sof,我不明白如何使用palceholder ...你能幫助我嗎?我是新的iphone dev – user794317 2011-06-12 11:15:09

+0

我爲你添加了示例代碼。我認爲這是一種比你嘗試的更好的方式。試試看,你會看到。 – 2011-06-12 17:13:03

2

使用的UITextField佔位財產@Richard Brightwell.

的建議,您可以使用它,如下

myTextField = [[UITextField alloc] initWithFrame:CGRectMake(x,y,width,height)]; 
............................................................................. 
............................................................................. 
myTextField.placeholder = @"Enter your user name " ; 
............................................................................. 

詳細檢查蘋果的文檔UITextField

0

這是一箇舊線程,但我想添加swift 3.0版本。您可以在viewDidLoad方法中將viewcontroller設置爲UITextfield的委託,然後實現委託方法。雨燕3.0

class myViewController: UIViewController { 

    //other properties 
    @IBOutlet weak var myTextField: UITextField! 

    override func viewDidLoad() { 
    super.viewDidLoad() 
    ... 
    myTextField.delegate = self 
    .... 
    } 
... 
} 

extension myViewController: UITextFieldDelegate { 

    func textFieldDidBeginEditing(_ textField: UITextField) { 
    textField.text = "" 
    ... 
    } 
相關問題