Tob*_*lis 0 xcode objective-c uikit
首先:我的问题非常理论化.即使我发布了一个例子,我只想知道哪个实现是解决此类问题的最佳实现.也许当你读这个问题时你会笑,因为它是非常根本的 - 但我想了解如何处理这种情况.
想象一下:您有一个通过XML与外部API通信的应用程序.事实上,视图不能立即出现,因为API需要时间来做出反应.我的想法是实现一个包含加载动画的子视图.当API发送响应时,将删除此子视图并显示主视图.这是我的例子:
- (void)viewWillAppear:(BOOL)animated {
UIView *myView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
[myView setBackgroundColor:[UIColor whiteColor]];
myView.tag = 1;
UIActivityIndicatorView *loadingView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
loadingView.frame = CGRectMake(145, 160, 25, 25);
[myView addSubview:loadingView];
[self.view addSubview:myView];
[loadingView startAnimating];
}
- (void)viewDidAppear:(BOOL)animated
{
[self loadXMLData];
[self.tableView reloadData];
[[self.view viewWithTag:1] removeFromSuperview];
}
Run Code Online (Sandbox Code Playgroud)
Everthing工作正常.我的问题如下:不仅仅是我必须这样做的观点.我的应用程序包含许多视图,那么避免重复此代码的最佳方法是什么?我想到了以下内容:我修改了(UIKit UIViewController)viewDidAppear选择器并将代码放入其中.我不知道Apple是否允许改变他们的框架.此外,它对我来说看起来很脏; o)有人能告诉我这通常是怎么做的吗?谢谢!
(希望你理解我,我的第一语言不是英语:-()
为什么不只是做一个子类UIViewController,其在已经实施的代码viewWillAppear和viewDidAppear,然后从这个"基地"的子类,而不是继承的UIViewController应用程序中的所有其他视图控制器?这比直接尝试对UIViewController做任何事情要容易得多.
| 归档时间: |
|
| 查看次数: |
67 次 |
| 最近记录: |