Я только начал с xcode и target-c и сделал несколько очень простых приложений, но с чем я столкнулся, так это очень просто. кнопка возврата клавиатуры не скрывает клавиатуру.
Я искал в Интернете решение, и все, что они говорят, это подключить делегата к владельцу файла и добавить функцию, и она должна работать, я сделал это, и ничего не работает.
У меня есть кнопка ОК, и она работает, а также работает нажатие на любое свободное место на экране, только кнопка возврата ....
Я использую симулятор, пока не тестирую на iphone. (xcode 3.2.5 64 бит с симулятором 4.2).
Это строка кода, которая должна соединить делегат с каждым textFiled.
1. Я уже пытался вернуть и YES
, и NO
, не сработало.
2. Я попробовал как конкретное имя объекта для textField, так и этот общий способ, не сработало.
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[textField resignFirstResponder];
return NO;
}
В: подключение контроллера основного вида -> подключения -> розетки, у меня есть: делегат - владелец файла. а в владельце файла в ссылочных точках есть: делегат - текст круглого стиля .....
РЕДАКТИРОВАТЬ - я забыл упомянуть ранее, я проверил, и метод не вызывается !!!
- (BOOL)textFieldShouldReturn:(UITextField *)textField{
NSLog(@"Working!!!");
[textField resignFirstResponder];
return YES;
} * * тысяча двадцать-один
что я должен сделать, чтобы это произошло? вот почему люди говорят, что нужно подключить делегата, но в моем случае он подключен и не вызывает функцию ... я знаю, что это довольно глупый вопрос, но для новичка, как я, решение не очевидно ...
ОК, еще одно редактирование - со всем моим кодом: просто не могу понять, что делать ....
Это: basicViewController.h
:
#import <UIKit/UIKit.h>
@interface basicViewController : <#superclass#> <UITextFieldDelegate>
@interface basicViewController : UIViewController <UITextFieldDelegate> {
//every object that we want to interact with (like text field or lable) is call an outlet!!!!
//here we define the outlets for our program
IBOutlet UITextField *txtName;
IBOutlet UILabel *lblMessage;
}
//here are the getters and setter for our outlets
@property (nonatomic, retain) IBOutlet UITextField *txtName;
@property (nonatomic, retain) IBOutlet UILabel *lblMessage;
//method decleration for the OK button action
- (IBAction) doSomething;
//method for hiding the keyboard when clicking on empty area in the app
//we will put an invisible button on all area and clicking on it will make keyboard disapear
- (IBAction) makeKeyboardGoAway;
@end
Это basicViewController.m
:
#import "basicViewController.h"
@implementation basicViewController
//synthesizeing the objects that we made' this will create the getter and setters automaticly
@synthesize txtName;
@synthesize lblMessage;
- (IBAction) doSomething{
// makeing keyboard disapear when pressing ok button (doing that form the text field)
//when pressing the OK button, the keyboard will disapear and when clicking in the text field it will show again
[txtName resignFirstResponder];
NSString *msg = [[NSString alloc] initWithFormat:@"Hello, %@",txtName.text];
//the objective-c way for setting the test in the text field
[lblMessage setText:msg];
//the regular object oriented way
//lblMessage.text = msg;
[msg release];
}
- (IBAction) makeKeyboardGoAway{
[txtName resignFirstResponder];
}
//when clicking the return button in the keybaord
- (BOOL)textFieldShouldReturn:(UITextField *)textField{
NSLog(@"Working!!!");
[textField resignFirstResponder];
return YES;
}
- (void)didReceiveMemoryWarning {
// Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];
// Release any cached data, images, etc that aren't in use.
}
- (void)viewDidUnload {
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
- (void)dealloc {
[super dealloc];
}
@end
Может быть, теперь я более ясен, извини, что раньше этого не делал.
У кого-нибудь есть идея, что я делаю не так? это должно быть довольно прямолинейно вперед .....
РЕДАКТИРОВАТЬ - Добавление изображения всех элементов, я надеюсь, что это поможет мне: -)
10х много для каждого, кто пытается помочь .... мне очень нравится этот фреймворк, он так хорош после c ++ и java, python и многих других ... и я работаю с книгой, но это для ios 3.1, может в этом проблема .....