我有一個非常簡單的設置:A UINavigationController
與setToolbarHidden NO
。因此,UINavigationController
所擁有的內容中的自定義視圖容器應該是從導航欄底部到工具欄頂部的距離。 iOS自定義查看大小內部UINavigationController當顯示工具欄
但是,我得到的是(您可能能夠通過查看半透明工具欄從屏幕快照中收集)從導航欄底部到屏幕底部的距離。
我已將autoresizingMask
設置爲UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth
在我的viewDidAppear
中,但它永遠不會得到考慮工具欄高度的「正確」答案。我可以計算工具欄高度,並從視圖高度中減去它,重新設置自定義視圖的高度,但真正的問題在設備旋轉時重新出現。這看起來像是一個autoresize類型的問題,我很困惑爲什麼不考慮工具欄。
任何提示如何讓自定義視圖調整大小,佔用工具欄佔用的空間?
有兩點要注意:
我創造這一切的編程方式,不使用IB
我在共生體檢查它,這是非常可靠的(至少對我來說)它驗證我所看到的,並通過
NSLog
輸出
我看到的應用程序做這一切的時候測量,所以我覺得我必須失去了一些東西。
代碼:
// Code translated from RubyMotion
view.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
self.tableView = [[UITableView alloc] initWithFrame:view.bounds style:UITableViewStylePlain];
self.tableView.accessibilityLabel = @"events table";
self.tableView.backgroundColor = [UIColor whiteColor];
[self.tableView setAutoresizingMask:UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth];
self.tableView.dataSource = self;
self.tableView.delegate = self;
self.tableView.tableHeaderView = searchBar; // assume I created a searchbar
[self.view addSubview:self.tableView];
在此先感謝。
你可以發佈用於創建此視圖的代碼嗎?也許這裏有一個bug ... –
你能記錄你的視圖的框架和tableview的框架嗎?只是爲了知道它們究竟是什麼 –
這裏(奇怪的是,它們的尺寸完全相同,這就是設備尺寸。這些日誌來自viewDidAppear: 2013-02-07 12:23:02.021視圖框架是# CGRect origin =# size =#> 2013-02-07 12:23:02.022表格框架是# size =#> –