我有一个UITableViewController。设置某个BOOL时,我想显示另一个视图而不是UITableView。我怎样才能做到这一点?我需要能够将UITableView带回来。
答案 0 :(得分:9)
我在Table视图控制器子类中实现了以下方法来重新加载其背景。
- (void)reloadBackground
{
if(myBool)
{
//load the view to be displayed from a nib
NSArray* nibs = [[NSBundle mainBundle] loadNibNamed:@"EmptyView" owner:self options:nil];
UIView* emptyView = [nibs objectAtIndex:0];
self.tableView.backgroundView = emptyView;
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
}
else
{
self.tableView.backgroundView = nil;
self.tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;
}
}
HTH,
阿克沙伊
答案 1 :(得分:2)
您可以在UITableViewController
:
UIViewController
@interface MyViewController : UIViewController <UITableViewDelegate> {
UITableView *tableView;
UIWebView *anotherView;
}
...
if (someBool) {
tableView.hidden = YES;
anotherView.hidden = NO;
} else {
tableView.hidden = NO;
anotherView.hidden = YES;
}
答案 2 :(得分:0)
怎么样..
if(myBOOL == YES) {
ADifferentViewController * vc = (ADifferentViewController *)[[ADifferentViewController alloc]init];
[self.navigationController pushViewController:vc animated:NO];
[vc release];
}
答案 3 :(得分:0)
可能是这样的:
if (myBool == YES) {
UIView *myView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)];
[self.view addSubview:myView];
}
现在摆脱它:
[myView removeFromSuperview];
当然还有很多其他方法......
甚至:self.view = myView;
答案 4 :(得分:0)
如果来自.h文件的UITableViewController ....更改,请使用UIView UITableViewController到UIViewController将视图连接到文件所有者 来自xib
在UIView中获取UITableView ...以另一个UIView获取空白视图 并将其背景颜色设置为Tableview颜色
如果你的bool如果是真的 然后显示tableview 并隐藏空白查看其他 隐藏tableview 显示空白视图