在界面生成器中,我的UITableView上方有一個標題視圖,但是在模擬器中缺少它,並且表視圖似乎覆蓋了它,因爲它佔用了大部分屏幕。有什麼理由呢?解決?由UITableView重疊的自定義頁眉視圖
Interface Builder中
模擬器
在界面生成器中,我的UITableView上方有一個標題視圖,但是在模擬器中缺少它,並且表視圖似乎覆蓋了它,因爲它佔用了大部分屏幕。有什麼理由呢?解決?由UITableView重疊的自定義頁眉視圖
Interface Builder中
模擬器
你的情況:
從你的界面生成圖像,我可以見T帽子表視圖是視圖的子視圖,而你的標題視圖也是tableview的子視圖。它發生是因爲tableview隱藏了標題視圖。如果你添加標題視圖作爲tableview的子視圖,那麼它會出現。但是添加子視圖並不能解決你的問題,因爲當你滾動tableview時,子視圖將會消失。
爲了解決您的問題,我可以看到您的表格視圖中有導航欄,您可以將標題視圖添加爲子視圖UINavigationBar
。
[self.navigationController.view addSubview:headerView];
良好做法:
設置一節的標題視圖。然後你不需要在你的tableview的頂部設置任何自定義視圖。試試這個:
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
UIView *aView = [[UIView alloc] init];
//Customize the view according to our requirment
return aView;
}
還實現這一點:
-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
return 44.f; // Make this height as you need. Or else you may not see the full view.
}
順便說一句,你可以創建UITableViewController
,而不是UIViewController
一個子類。 希望這有助於.. :)
取消擴展邊緣/在最熱門酒吧
部分有多少是你的tableview? – Rashad
只是簡單的代碼:[self.view addSubview:headerView];這將工作,或者你可以去 - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)節;並在其中創建您的標題(UIView)。 – nikhil84