我有一個IBAction連接到我的所有UITextFields上的EditingDidBegin,所以當UITextFields被點擊時,爲什麼下面的代碼不工作?如何取消隱藏當前活動文本框的鍵盤?
-(IBAction)keyboardShouldShow
{
[self becomeFirstResponder];
NSLog(@"Keyboard Showing");
}
另外請記住,除非因爲我的項目文件中有其他代碼而添加此代碼,否則鍵盤將不會顯示。
感謝
我有一個IBAction連接到我的所有UITextFields上的EditingDidBegin,所以當UITextFields被點擊時,爲什麼下面的代碼不工作?如何取消隱藏當前活動文本框的鍵盤?
-(IBAction)keyboardShouldShow
{
[self becomeFirstResponder];
NSLog(@"Keyboard Showing");
}
另外請記住,除非因爲我的項目文件中有其他代碼而添加此代碼,否則鍵盤將不會顯示。
感謝
你自己是不是你textfield.try改變的方法這一點,它重新鏈接到editingdidbegin。
-(IBAction)keyboardShouldShow:(UITextField*)sender
{
[sender becomeFirstResponder];
NSLog(@"Keyboard Showing");
}
HIH
因爲self
是您的視圖控制器,而不是UITextField
。
使用UITextFieldDelegate
方法:
- (void) textFieldDidBeginEditing:(UITextField *)textField {
if ([textField isKindOfClass:[UITextField class]]) {
[textField resignFirstResponder];
NSLog(@"Keyboard Showing");
}
}
如果你想用你自己的方法,一定要在UITextField
作爲參數傳遞。 方法更改爲類似:
-(IBAction)keyboardShouldShow:(id)sender {
if ([sender isKindOfClass:[UITextField class]]) {
[sender resignFirstResponder];
NSLog(@"Keyboard Showing");
}
}
所以我能放的,而不是 「自我」? – pixelbitlabs
我得到以下錯誤代碼:http://pastie.org/2824373 – pixelbitlabs
你需要學習如何調試你自己的代碼。 – rckoenes
說這個錯誤:http://pastie.org/2826175 – pixelbitlabs
這個錯誤是因爲你有你的Editing Did Begin事件鏈接到keyboardShouldShow而不是keyboardShouldShow:。回到接口生成器,刪除冗餘鏈接並將其重新鏈接到此方法。 – MadhavanRP
錯誤已經消失,但不幸的是,當UITextField開始編輯時,鍵盤不會出現。爲什麼是這樣? – pixelbitlabs