簡體   English   中英

如何在UITableViewController中顯示無數據啟動UIView? 從tableView添加和刪除視圖?

[英]How do I display a no-data splash UIView in a UITableViewController? Add and remove view from tableView?

如何在TableView中添加或刪除視圖?

每當tableView中什么都沒有時,我希望它顯示“ No Connections”,但是當有數據時,我只想要一個普通的tableView。

我檢查了很多問題,所有這些問題都有奇怪的方法可以從單元格中刪除視圖並在單元格中完成所有操作。 但是,我還發現,您可以在Xcode中將UIView拖到tableView中,並且它會隨之滾動。

當您執行此操作並想要擺脫該視圖時,只需將該視圖的hidden屬性設置為true即可。

這里的問題是,那里曾經是視圖的空白處。 我希望它完全消失而不是不存在,但是添加/刪除子視圖對我不起作用。 我也嘗試了許多其他解決方案。

我發現您可以簡單地將該視圖放入Xcode的存儲桶中,但不能放入視圖控制器中。 (見圖片)

不在視圖控制器中

然后,我發現如果為該UIView制作插座,我仍然可以使用它。 請注意,在將視圖移動到該位置之前,我必須通過編程或在IB中設計視圖並使其具有適當的大小,因為在IB中無法再看到它。

然后,在TableViewController類中,我使用ViewWillAppear來檢查備份TableView的數組的計數。 如果為零,則將視圖(使用“插座”)設置為隱藏還是不隱藏。

接下來,我使用以下代碼:

-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
    if (noConnectionView.hidden)
    {
        return 0;
    } else {
        return 480;
    }
}

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
    if (noConnectionView.hidden)
    {
        return nil;
    } else {
        return noConnectionView;
    }
}

這使它充滿了我的彈出窗口,並且由於section方法的單元格數量返回了我已經檢查過的相同計數(如果表為空,則為零),這是唯一顯示的內容(沒有空單元格)。

當有東西要顯示時, ViewWillAppear都會調用ViewWillAppear (並且每當東西被刪除時,我都會調用view再次出現),然后tableView擺脫標題,其行為就像普通的tableView一樣。

這很棒,因為您可以將其與UITableViewController一起使用,或者與導航控制器一起使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM