这是一款基于SDK 3.2的iPad应用程序。
我有一个MainUIView,它是UIView的子类,它有一个UIButton和一个UILabel。当用户按下UIButton时,弹出控件将出现一个表视图。当用户从表格视图中选择一个单元格时,UILabel会根据用户点击更改内容,弹出表格视图将消失。
问题是,如何将“选定单元格”传递给UILabel。我在想做一个“中间人”的对象。当用户单击UIButton时,“中间人”将传递给表。当选择单元格时,“中间人”将存储idx,并从“中间人”的值调用UILabel更改内容。
但我认为实施起来相当复杂,有没有更简单的方法来实现它?你好。
答案 0 :(得分:1)
执行此操作的标准方法是在弹出窗口以所选值关闭时调用委托方法。该方法将在视图控制器上创建,该控制器调用弹出框并处理设置值。
在视图控制器中:
- (void) popoverDone:(id)sender {
label.text = [sender someValue];
[sender dismissPopoverAnimated:YES];
}
在popover中:
- (void)tableView:tableView didSelectRowAtIndexPath:indexPath {
[delegate performSelector:@selector(popoverDone:) withObject:self];
}
还有其他方法可以做到这一点,但原则是一样的。