0

当我从功能 [self makeButtons] 移动屏幕上的按钮时,除非我按下视图控制器然后弹回,否则什么都不会发生。ViewController 是否有像 UITableViews 一样的重新加载数据功能?我正在使用 NavigationController,并且正在向 UISrollView 添加子视图并在屏幕上移动其他按钮。使用 ASIFORMHTTPRequest 获取数据后调用该方法。

编辑:对不起,我没有详细说明。

我有一个发送 [request startAsynchronous] (ASIFORMHTTPrequest) 的方法。我有一个包含我所有按钮的 NSMutableArray。当请求完成时,一个名为 doneGettingRequest 的方法,如下所示。

- (void) doneGettingRequest(ASIFORMHTTPRequest *) request {
    [self removeButtons];
}

这是调用这个方法;

- (void) removeButtons {
    NSLog(@"Removing buttons!");
    for (UIButton *button in gameButtons) {
        [button removeFromSuperview];
}

当我转到另一个视图时一切正常,然后再返回。问题是,如果在调用方法时显示该视图,它将不会刷新(这几乎总是会发生)。gameButton 是一个 NSMutableArray,包含当前正在显示的按钮。删除它们后,我想添加一些其他按钮。问题是,调用 removeButtons 时按钮不会被删除。消息“正在删除按钮!” 但是,显示了,因此正在调用该方法。

有什么建议么?谢谢

4

2 回答 2

1

您可以将您的逻辑放在viewWillAppear中。

在接收者的视图即将添加到视图层次结构之前以及配置任何动画以显示视图之前调用此方法。

您可以覆盖此方法以执行与显示视图相关的自定义任务。

如果你重写了这个方法,你必须在你的实现中调用 super 。

于 2012-05-05T04:46:36.280 回答
0

你有没有尝试过

 [view setNeedsDisplay];
于 2012-05-04T20:30:54.690 回答