【发布时间】:2014-07-07 20:12:48
【问题描述】:
我正在尝试将自定义视图添加到使用来自 UITableViewController 的代码创建的 UITableView。此视图是带有消息 (MBProgressHUD) 的 HUD 窗口
所以我有一个方法 reload() 从重写的 initWithStyle() 方法和表格的刷新按钮调用:
- (void) reload {
HUD = [[MBProgressHUD alloc] initWithView:self.tableView];
[self.view addSubview:HUD];
HUD.delegate = self;
HUD.labelText = @"Downloading";
[HUD showWhileExecuting:@selector(reloadWithHUD) onTarget:self withObject:nil animated:YES];
}
第一次,HUD 出现在表格线的后面。加载后,当我按下重新加载按钮时,视图按预期显示。 initWithStyle() 方法(为了清楚起见删除了一些代码)是:
- (id)initWithStyle:(UITableViewStyle)style {
self = [super initWithStyle:style];
if (self) {
// Custom initialization.
self.title = NSLocalizedString...
UIBarButtonItem *button = [[UIBarButtonItem alloc] initWithTitle ... action:@selector(reload)];
self.navigationItem.rightBarButtonItem = button;
[button autorelease];
[self reload];
}
return self;
}
我尝试使用简单的 UILabel 更改 HUD 视图,结果相同。 我还将代码更改为从 viewDidLoad() 调用 reload(),但也不起作用。我该如何解决这个问题?非常感谢。
编辑:为了澄清这一点,这里有一个可能的解决方案。非常感谢 Bill Brasky 的帮助:
HUD = [[MBProgressHUD alloc] initWithView:self.view];
[[[UIApplication sharedApplication] keyWindow] addSubview:HUD];
【问题讨论】:
标签: iphone objective-c ios uitableview