iPhone:UITableView没有单元格时添加背景按钮查看
我有一个UITableViewController,当没有数据填充UITableView时,我想添加一个使用图像的按钮。因此,用户不会看到没有记录的tableview,他们会看到一个图像,上面写着“没有添加记录,点击添加一个”,然后他们单击,我们创建一个新的 我以为我会隐藏UITableView,然后创建按钮,但我从未看到按钮。我在这里使用:iPhone:UITableView没有单元格时添加背景按钮查看,iphone,view,uitableview,Iphone,View,Uitableview,我有一个UITableViewController,当没有数据填充UITableView时,我想添加一个使用图像的按钮。因此,用户不会看到没有记录的tableview,他们会看到一个图像,上面写着“没有添加记录,点击添加一个”,然后他们单击,我们创建一个新的 我以为我会隐藏UITableView,然后创建按钮,但我从未看到按钮。我在这里使用: if ([[fetchedResultsController sections] count] == 0) { self.tableVie
if ([[fetchedResultsController sections] count] == 0) {
self.tableView.hidden = YES;
// Create button w/ image
UIButton * btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
btn.frame = CGRectMake(0, 0, 100, 50);
[btn setImage:[UIImage imageNamed:@"no-rides.png"] forState:UIControlStateNormal];
[self.view addSubview:btn];
}
关于为什么我永远看不到按钮的想法?当我显示此视图时,它似乎有一个透明的背景一秒钟,然后变为白色…在UITableViewController中,self.view可以是self.tableView,在这种情况下,隐藏表也会隐藏按钮。尝试使用自定义UIViewController并将表或按钮创建为self.view的子视图
或者,当没有数据时,您可以创建一个包含按钮的自定义单元格,并使用该单元格代替普通单元格。我不确定它是否有效,但您可以尝试以下方法:
[self.tableView removeFromSuperview]代码>然后[self.view addSubview]代码>
tableView:didSelectRowAtIndexPath:
,如果用户单击第一个单元格,您将触发处理按钮事件的方法
我相信您可以将该按钮添加到表尾,因为即使没有单元格,也会显示表尾。(注意,这与节页脚不同。) 默认情况下,
UITableView
的tableFooterView
属性为nil
。因此,只需创建按钮,然后执行以下操作:
self.tableView.tableFooterview = btn;
对于所有未来的旅行者,我只需设置
.userInteraction=true
(Swift),它就像一个符咒。总而言之:
tableView.backgroundView = constructMyViewWithButtons()
tableView.backgroundView!.userInteraction = true
好的,我尝试不隐藏我的tableView,我看到我的图像正在单元格0中创建。这是否意味着我的视图控制器是tableviewcontroller?我不确定是否要将其保留在该单元格中并对其进行自定义,因为我不希望按钮可滚动。您的类是从UITableViewController还是UIViewController继承的?如果来自UITableViewController,则它是一个UITableViewControllerOh,因此它是一个UITableViewController,因此您无法隐藏它。现在唯一的方法是将第一个单元格设置为文本和图像。但因为它在第一个单元格中是特定的,所以它将不可滚动