我创建了一个UITextField和一个自定义视图。 之后我将这个自定义视图作为“inputView”添加到我的UITextField。
amountKeyboardViewController *amountKeyboard = [[amountKeyboardViewController alloc] initWithNibName:@"amountKeyboardViewController" bundle:nil];
amountTextField.inputView = amountKeyboard.view;
[amountTextField becomeFirstResponder];
这很好用。但是我可以使用在我的自定义视图(UIButtons)中单击的输入填充我的“amountTextField”吗?
感谢您的一些提示!
答案 0 :(得分:1)
您的意思是,如果按1,则“1”应显示在文本字段中。
之后,如果按2则会显示“12”。
你想这样吗?
您必须为所有按钮编写IBaction 例如
-(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"];
}
就像你必须为所有按钮编写IBaction一样
答案 1 :(得分:1)
在您的amountTextField控制器中,您需要在.h文件中编写以下代码
创建文本字段的属性
@property(nonatomic,retain)UiTextField *txt; //whatever your textfield name
现在在.m文件中写下以下内容
@synthesize txt;
编写以下语句,在其中创建amountKeyboardViewController的对象
amountKeyboardViewController *amountKeyboard = [[amountKeyboardViewController alloc] initWithNibName:@"amountKeyboardViewController" bundle:nil]
amountKeyboard.objamountTextField = self;
现在在amountKeyboardViewController控制器中编写以下代码
@class amountTextField; //forward declaration
然后创建此类的对象
amountTextField *objamountTextField;
然后创建
的属性@property(nonatomic,retain)amountTextField *objamountTextField;
现在点击按钮
-(IBAction)clickof1
{
if([amountTextField.text length] <= 0)
objamountTextField.txt.text = @"1";
else
objamountTextField.txt.text=[objamountTextField.txt.text stringByAppendingString:@"1"];
}