choise
choise

Reputation: 25244

Return Inputs to UITextfield with custom inputView

i created a UITextField and a custom View. after that i added this custom view as "inputView" to my UITextField.

 amountKeyboardViewController *amountKeyboard = [[amountKeyboardViewController alloc] initWithNibName:@"amountKeyboardViewController" bundle:nil];

amountTextField.inputView = amountKeyboard.view;

[amountTextField becomeFirstResponder];

this works quite fine. but can i fill my "amountTextField" with the input clicked in my custom View (UIButtons)?

thanks for some hints !

Upvotes: 0

Views: 7595

Answers (2)

Reena
Reena

Reputation: 845

in your amountTextField controller you need to write the following code in .h file

create property of your textfield

@property(nonatomic,retain)UiTextField *txt; //whatever your textfield name

Now in .m file write the following

@synthesize txt;

write following statement where you create object of amountKeyboardViewController

 amountKeyboardViewController *amountKeyboard = [[amountKeyboardViewController alloc] initWithNibName:@"amountKeyboardViewController" bundle:nil]
 amountKeyboard.objamountTextField = self;

Now in amountKeyboardViewController controller write the following code

@class amountTextField;       //forward declaration

then create object of this class

amountTextField *objamountTextField;

then create property of

@property(nonatomic,retain)amountTextField *objamountTextField;

Now on click of button

-(IBAction)clickof1
{
    if([amountTextField.text length] <= 0)
        objamountTextField.txt.text = @"1";
    else
        objamountTextField.txt.text=[objamountTextField.txt.text stringByAppendingString:@"1"];
}

Upvotes: 1

Reena
Reena

Reputation: 845

You mean that if you press 1 then '1' should shown in textfield.

after that if you press 2 then it will show '12'.

Do you want like this?

You have to write IBaction for all buttons eg.

-(IBAction)clickof1
{
    if([amountTextField.text length] <= 0)
       amountTextField.text = @"1";
    else
       amountTextField.text = [amountTextField.text stringByAppendingString:@"1"];
}

-(IBAction)clickof2
{
    if([amountTextField.text length] <= 0)
       amountTextField.text = @"2";
    else
       amountTextField.text = [amountTextField.text stringByAppendingString:@"2"];
}

like that you have to write IBaction for all your buttons

Upvotes: 1

Related Questions