基于一个变量加载UIView或UITableView

时间:2011-03-16 13:15:29

标签: iphone uitableview uiview

我的应用有一个“收藏夹”标签。当然,里面有用户设置为“收藏夹”的项目(在UITableView中)。

我的问题是:当开始时,用户没有收藏夹,我想显示UIView(带有UIButton“添加收藏夹”)而不是UITableView ...

有可能吗?

3 个答案:

答案 0 :(得分:0)

当然,在您的代码中,它将是一个简单的条件,最好是在viewWillAppear:方法中。如下所示:

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];

    if (self.hasFavorites) {
        // add UITableView as a subview
    } else {
        // add UIButton as a subview
    }
}

答案 1 :(得分:0)

是的,这是可能的。我假设你在某种阵列中拥有用户最喜欢的商店。简单地说:

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];

    //Reload the array here.
    [self loadFavoriteArray];

    if (_favoriteArray == nil || [_favoriteArray count] < 1) {
        [_favoriteTableView setHidden:YES];
        [_noFavoriteView setHidden:NO];
    }
    else {
        [_favoriteTableView setHidden:NO];
        [_noFavoriteView setHidden:YES];
    }
}

答案 2 :(得分:0)

你的视图是如何设置的 - UIViewController或UITableViewController?如果我理解你的问题,我认为你有几个选择。

1)您可以设置tableHeaderView。这将允许您在表格上方放置一个按钮,该按钮可以填充单个单元格,该单元格显示“无收藏夹”...或类似的内容。允许您删除按钮,如果他们有列出的收藏夹,或者您甚至可以将其留在那里作为添加其他收藏夹的快捷方式

2)假设您使用的是UIViewController(并随后添加了UITableView),而不是UITableViewController,如果它们没有任何收藏夹,您只需添加UITableView子视图即可。

希望有帮助...