从iPad上弹出控件传递值的最佳做法

时间:2010-05-23 05:43:55

标签: objective-c iphone ipad

这是一款基于SDK 3.2的iPad应用程序。

我有一个MainUIView,它是UIView的子类,它有一个UIButton和一个UILabel。当用户按下UIButton时,弹出控件将出现一个表视图。当用户从表格视图中选择一个单元格时,UILabel会根据用户点击更改内容,弹出表格视图将消失。

问题是,如何将“选定单元格”传递给UILabel。我在想做一个“中间人”的对象。当用户单击UIButton时,“中间人”将传递给表。当选择单元格时,“中间人”将存储idx,并从“中间人”的值调用UILabel更改内容。

但我认为实施起来相当复杂,有没有更简单的方法来实现它?你好。

1 个答案:

答案 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];
}

还有其他方法可以做到这一点,但原则是一样的。