将UIView添加到UIViewController的委托中

时间:2013-04-05 20:12:01

标签: ipad uitableview delegates uipopovercontroller

我在UITableViewController(我称之为Controller A )中选择一个单元格,该单元格来自另一个UIViewController的弹出窗口(我将调用 B ) 。 B 设置为 A 的代表,因此当用户与 A B 发送消息>。这一切都按我想要的方式进行。

我已经在 A 中添加了一些代码,以便在用户选择其中一行时开始从CoreData加载信息。这需要一段时间,所以我想在用户做出选择后立即显示等待屏幕。在this question我刚刚解决了如何在实际开始加载数据之前显示等待屏幕,但在控制器之间传递消息时它似乎不起作用。

我的等待屏幕是一个UIView子类,它只有一个UIActivityIndi​​cator和一个带有快速消息的UILabel。等待屏幕是 B @property,我打电话给

self.waitingView = [[WaitingView alloc] initWithFrame:self.view.frame];
[self.waitingView setHidden:YES];
[self.view addSubview:self.waitingView];

B viewDidLoad中。然后,我在 A @protocol需要showWaitScreen。在 A willSelectRowAtIndexPath中,我致电[self.delegate showWaitScreen];。在 B ,我有

-(void) showWaitScreen
{
    [self.waitingView setHidden:NO];
}

我已经设置了一些断点,所有的呼叫都按照我想要的方式进行,但我从未看到过等待屏幕。我最好的猜测是因为 A 仍在 B 上作为弹出窗口打开,这阻止了对 B 的UI的任何更改。是这样的吗?如果那不是问题,那是什么?在任何情况下,如何让我的等待屏幕出现?


编辑:有关我的屏幕布局的一些信息: B 是一个非常混乱的屏幕 - 有一个简单的背景(UIView)占据了整个屏幕。在UIView之上,有UIScrollViewUIToolbar - 工具栏只占据了屏幕的最底部。在UIScrollView中,有5个不同大小的UITableView,它们之间的间隙很小。从其中一个表中显示 A ,大​​致会填充屏幕的上半部分。等待屏幕是一个正方形,每边都是屏幕宽度的一半,并以屏幕为中心。因此,等待屏幕将与 A 的一部分以及 B 上的几个UITableView重叠。

0 个答案:

没有答案