![](/img/trans.png)
[英]How to add row/cells dynamically to an UITableView by pressing a button in iPhone
[英]iPhone: Add background button to view when UITableView has no cells
我有一個UITableViewController,當沒有數據可填充UITableView時,我想添加一個使用圖像的按鈕。 因此,他們將看到一個圖像,上面寫着:“未添加任何記錄,請點擊以添加一個”,而不是用戶看到沒有記錄的表格視圖,然后單擊並創建一個新的視圖。
我以為我只會隱藏UITableView,然后創建按鈕,但我從未看到該按鈕。 我在這里使用:
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的子視圖。
或者,當沒有數據時,您可以創建一個包含按鈕的自定義單元格,並使用它代替普通單元格。
我不確定是否可行,但是您可以嘗試以下方法:
如果您的視圖控制器不是UITableViewController且它包含UITableView [self.tableView removeFromSuperview];
然后[self.view addSubview];
如果視圖控制器是UITableViewController,則可能需要考慮將第一行設置為包含圖像和文本。 然后,您可以處理以下事件: tableView:didSelectRowAtIndexPath:
如果用戶單擊第一個單元格,則觸發方法處理按鈕事件
我相信您可以將按鈕添加到表格頁腳中,因為即使沒有單元格,表格頁腳也會顯示出來。 (請注意,這與部分頁腳不同。)
默認情況下, UITableView
的tableFooterView
屬性為nil
。 因此,只需創建您的按鈕,然后執行:
self.tableView.tableFooterview = btn;
對於所有未來的旅行者,我只需將.userInteraction = true
(Swift)設置為.userInteraction = true
。 總而言之:
tableView.backgroundView = constructMyViewWithButtons()
tableView.backgroundView!.userInteraction = true
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.