我想在键盘上方显示下一个上一个按钮。我从viewDidLoad调用函数“makeToolBars”来创建它。应用程序确实正确显示按钮,但是当我点击它们时,我得到错误,它不会转到“goToNextField”功能。
有人能指出如何纠正它吗?
-(void)goToNextField:(id)sender
{
[txtPassword resignFirstResponder];
[txtUserName becomeFirstResponder];
}
-(void) makeToolBars
{
UIToolbar *toolbar1 = [[[UIToolbar alloc] init] autorelease];
[toolbar1 setBarStyle:UIBarStyleBlackTranslucent];
[toolbar1 sizeToFit];
UIBarButtonItem *nextButton = [[UIBarButtonItem alloc]
initWithTitle:@"Next"
style:UIBarButtonItemStyleBordered
target:self
action:@selector(goToNextField)];
UIBarButtonItem *flexButton1 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil];
NSArray *itemsArray1 = [NSArray arrayWithObjects: nextButton,flexButton1, nil];
[flexButton1 release];
[nextButton release];
[toolbar1 setItems:itemsArray1];
[txtUserName setInputAccessoryView:toolbar1];
}
答案 0 :(得分:3)
以下陈述是错误的。
UIBarButtonItem *nextButton = [[UIBarButtonItem alloc]
initWithTitle:@"Next"
style:UIBarButtonItemStyleBordered
target:self
action:@selector(goToNextField)];
使用以下修改过的正确代码。
UIBarButtonItem *nextButton = [[UIBarButtonItem alloc]
initWithTitle:@"Next"
style:UIBarButtonItemStyleBordered
target:self
action:@selector(goToNextField:)];
因为您可能忘记在goToNextField
中添加冒号(正确goToNextField:
)。
在goToNextField
的函数实现中,您正在考虑使用冒号并将:(id) sender
放在函数中。
答案 1 :(得分:1)
你写过action:@selector(goToNextField)];
。它应该是action:@selector(goToNextField:)];