Chr*_*ger 28 iphone objective-c uitableview ios mbprogresshud
所以我有一个UITableViewController的子类,它从加载一些数据并在加载过程中使用MBProgressHUD.我使用标准的MBProgressHUD初始化.
HUD = [[MBProgressHUD alloc] initWithView:self.view];
[self.view addSubview:HUD];
HUD.delegate = self;
HUD.labelText = @"Loading";
[HUD show:YES];
Run Code Online (Sandbox Code Playgroud)
这是结果:
.
有没有办法解决这个问题,还是我应该放弃MBProgressHUD?
谢谢!
Tyl*_*ier 41
我的解决方案非常简单.我没有使用self的视图,而是使用了self的navigationController视图.
HUD = [[MBProgressHUD alloc] initWithView:self.navigationController.view];
[self.navigationController.view addSubview:HUD];
Run Code Online (Sandbox Code Playgroud)
这应该适用于OP,因为他的照片显示他正在使用UINavigationController.如果您没有UINavigationController,可以在UITableView上添加另一个视图,并将HUD添加到该视图中.你将不得不写一些额外的代码来隐藏/显示这个额外的视图.
这个简单的解决方案(不包括我的想法添加上面提到的另一个视图)的一个不幸的事情意味着用户在HUD显示时无法使用导航控件.对于我的应用程序,这不是问题.但是如果你有一个长时间运行的操作并且用户可能想要按下取消,这将不是一个好的解决方案.
jtb*_*des 15
这可能是因为它self.view是一个UITableView,它可以动态添加/删除包含标题的子视图,在您将其添加为子视图后可能最终位于HUD之上.你应该直接将HUD添加到窗口,或者(为了更多的工作,但可能是更好的结果),你可以实现一个UIViewController子类,它有一个包含表视图和HUD视图的普通视图.这样你就可以将HUD完全置于表格视图的顶部.
| 归档时间: |
|
| 查看次数: |
6010 次 |
| 最近记录: |