Keyboard does not resign when I press return key (xcode)

Hey guys, I'm not sure what I'm doing wrong, but I'm trying to get the keyboard to go away when I press the return key on my application and my code from .m is:

- (BOOL)textFieldShouldReturn:(UITextField *)textField{

[textField resignFirstResponder];
return YES;

}

      

and the code in .h:

- (BOOL)textFieldShouldReturn:(UITextField* )textField;

      

but when i start the app and hit the return key nothing happens, what am i doing wrong?

my.h:

#import <UIKit/UIKit.h> 
@interface ChemicalInfoViewController: UIViewController{
IBOutlet UIScrollView *ChemicalInforScroller;

}
@property (strong, nonatomic) IBOutlet UITextField *PPMForChlTextField;
@property (strong, nonatomic) IBOutlet UITextField *GallonsForChlTextField;
@property (strong, nonatomic) IBOutlet UITextField *PPMForAlkTextField;
@property (strong, nonatomic) IBOutlet UITextField *GallonsForAlkTextField;
@property (strong, nonatomic) IBOutlet UITextField *PPMForPHTextField;
@property (strong, nonatomic) IBOutlet UITextField *GallonsForPHTextField;
- (IBAction)SumbitCDI:(UIButton *)sender;
@property (strong, nonatomic) IBOutlet UILabel *PPMLabelForChl;
@property (strong, nonatomic) IBOutlet UILabel *GallonsLabelForChl;
@property (strong, nonatomic) IBOutlet UILabel *PPMLabelForAlk;
@property (strong, nonatomic) IBOutlet UILabel *GallonsLabelForAlk;
@property (strong, nonatomic) IBOutlet UILabel *PPMLabelForPH;
@property (strong, nonatomic) IBOutlet UILabel *GallonsLabelForPH;
@property (strong, nonatomic) IBOutlet UITextField *ChlorinePoundsTextField;
@property (strong, nonatomic) IBOutlet UITextField *GallonsForAlkDecreaser;
@property (strong, nonatomic) IBOutlet UITextField *PhPoundsTextField;
@property (strong, nonatomic) IBOutlet UITextField *AlkPoundsTextField;
@property (strong, nonatomic) IBOutlet UITextField *LbsForAlkDecreaser;
@property (strong, nonatomic) IBOutlet UITextField *PPMForAlkDecreaser;
@property (strong, nonatomic) IBOutlet UITextField *LbsForPhDecreaser;
@property (strong, nonatomic) IBOutlet UITextField *PPMForPhDecreaser;
@property (strong, nonatomic) IBOutlet UITextField *GallonsForPhDecreaser;
- (IBAction) clickedBackground;
@interface ChemicalInfoViewController : UIView <UITextField>
@end

      

and my .m:

#import "ChemicalInfoViewController.h"

@interface ChemicalInfoViewController ()

@end

@implementation ChemicalInfoViewController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {

}
return self;
}





- (void)viewDidLoad
{
[super viewDidLoad];
[ChemicalInforScroller setScrollEnabled:YES];
[ChemicalInforScroller setContentSize:CGSizeMake(320, 1000)];
self.textField.delegate = self;

}

- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];

}


- (IBAction) clickedBackground {

[self.view endEditing:YES];

}

- (BOOL)textFieldShouldReturn:(UITextField *)textField{

[textField resignFirstResponder];
return YES;

}

      

+3


source to share


3 answers


To .h

remove:

- (BOOL)textFieldShouldReturn:(UITextField* )textField;

      

And it will work as it should, given that in yours .h

you follow the protocol:

@interface yourViewController : UIView <UITextFieldDelegate>

      

And set up the delegate like this:



yourTextField.delegate = self;

      

Edit for @end

:

In .m

add @end

at the end; so it becomes (scrolls to the very bottom):

@implementation ChemicalInfoViewController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {

}
return self;
}

- (void)viewDidLoad
{
[super viewDidLoad];
[ChemicalInforScroller setScrollEnabled:YES];
[ChemicalInforScroller setContentSize:CGSizeMake(320, 1000)];
self.textField.delegate = self;

}

- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];

}


- (IBAction) clickedBackground {

[self.view endEditing:YES];

}

- (BOOL)textFieldShouldReturn:(UITextField *)textField{

[textField resignFirstResponder];
return YES;

}

@end //Here :-)

      

+1


source


You have not specified delegates for your text fields.

In "viewDidLoad" add



_ChlorinePoundsTextField.delegate = self;

_GallonsForAlkDecreaser.delegate = self;

_PhPoundsTextField.delegate = self;

_AlkPoundsTextField.delegate = self;

_LbsForAlkDecreaser.delegate = self;

_PPMForAlkDecreaser.delegate = self;

_LbsForPhDecreaser.delegate = self;

_PPMForPhDecreaser.delegate = self;

_GallonsForPhDecreaser.delegate = self;

0


source


none of these methods worked for some reason, but what I did was create a DidEndOnExit action and humble the keyboard under that action for each textbox

0


source







All Articles