作者热门文章
- objective-c - iOS 5 : Can you override UIAppearance customisations in specific classes?
- iphone - 如何将 CGFontRef 转换为 UIFont?
- ios - 以编程方式关闭标记的信息窗口 google maps iOS
- ios - Xcode 5 - 尝试验证存档时出现 "No application records were found"
我正在尝试在 UIPicker 的数据更改(实时更新)后立即更新表格单元格中显示的日期和时间。我实现了以下代码。尽管更改了选择器中的值,但我的“更新”方法没有被调用。谁能建议?谢谢!
郑
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSUInteger row = [indexPath row];
if (row == 0)
{
self.picker.hidden = NO;
[self.picker addTarget:self action:@selector(updateDate) forControlEvents:UIControlEventTouchUpInside];
}
}
- (void)updateDate
{
selectedDate = [self.picker date];
NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
[formatter setDateFormat:@"dd-MM-yyyy HH:mm"];
selectedDateString = [formatter stringFromDate:selectedDate];
[tableView reloadData];
}
最佳答案
您需要在选择器名称后加上一个冒号。
[self.picker addTarget:self action:@selector(updateDate:) forControlEvents:UIControlEventTouchUpInside];
此外,updateDate 方法应该采用 id 类型的对象。
- (void) updateDate:(id) obj { }
关于objective-c - Objective-C : How to use addTarget:action:forControlEvents: method?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6054661/
我是一名优秀的程序员,十分优秀!