当我想在我的应用程序页面的键盘(文本字段填充)中使用自定义按钮时,我在iphone中遇到问题。我在键盘中嵌入了一个名为dot的按钮,它显得很好但是当我点击它时,它应该转到我定义的动作。但它崩溃了。
- (void)sendDecimal:(id)sender {
// Post a Notification that the Decimal Key was Pressed.
[[NSNotificationCenter defaultCenter] postNotificationName:@"DecimalPressed" object:nil];
}
它运行直到应用程序尝试向我发送通知我不知道可能是例程或函数或方法。
在这方面,有人可以帮助我。
感谢
修改
以下是错误消息:
-[UITableView addDecimal:]: unrecognized selector sent to instance 0x4051e00
2010-03-26 16:08:42.272 app[2855:20b]
Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: '-[UITableView addDecimal:]: unrecognized selector sent to instance
0x4051e00'
修改
我已经定义了addDecimal选择器,这里是代码......
- (void)viewDidAppear:(BOOL)animated {
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:tableView selector:@selector(addDecimal:) name:@"DecimalPressed" object:nil];
修改
是的,我写的是这样的 [dot addTarget:self action:@selector(sendDecimal :) forControlEvents:UIControlEventTouchUpInside];
答案 0 :(得分:1)
[YourButtonButton addTarget:self action:@selector(addDecimal:) forControlEvents:UIControlEventTouchUpInside];
然后用
替换它[YourButtonButton addTarget:self action:@selector(sendDecimal:) forControlEvents:UIControlEventTouchUpInside];
从你的评论我猜它只是拼写错误或其他东西
答案 1 :(得分:0)
问题解决的人
错误
[[NSNotificationCenter defaultCenter] addObserver:tableView selector:@selector(addDecimal:) name:@"DecimalPressed" object:nil];
消退:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(addDecimal:) name:@"DecimalPressed" object:nil];
将addObserver放入self而不是tableview