1
我有一個用於UINavigationController的視圖,並且按照預期自動按下以適應窗口。不過,我需要提出了同樣的觀點作爲一種模式,它並沒有一個UINavigationController(或需要一個),所以我只需要添加一個UINavigationBar的,像這樣:iOS UINavigationBar移位視圖下移
if (presentedAsModal == YES) {
UINavigationBar *navigationBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
[self.view addSubview:navigationBar];
UIBarButtonItem *leftButton = [[UIBarButtonItem alloc] initWithTitle:@"Done"
style:UIBarButtonSystemItemDone target:nil action:@selector(dismissModalViewControllerAnimated:)];
UINavigationItem *item = [[UINavigationItem alloc] initWithTitle:@"Title"];
item.leftBarButtonItem = leftButton;
item.hidesBackButton = YES;
[navigationBar pushNavigationItem:item animated:NO];
[[UIBarButtonItem appearance] setTintColor:[UIColor colorWithRed:0/255.0f green:180/255.0f blue:220/255.0f alpha:1.f]];
[[UINavigationBar appearance] setTintColor:[UIColor colorWithRed:0/255.0f green:140/255.0f blue:180/255.0f alpha:1.f]];
}
然而,的導航欄不會自動下推VC它最終會覆蓋我的視圖的一部分。有沒有辦法讓VC調整大小,以便在添加navigationBar後適合新的可用空間(我不想手動執行此操作)。
這工作,我希望能有一個乾淨的財產我可以訪問做到這一點,但我可能不會?我知道我可以把它放在NavController中,但它看起來是錯誤的,因爲我不需要NavController只是看起來/後退按鈕欄。 – KDM
導航控制器在將視圖添加到其視圖之前使其視圖更小,因此不存在「導航欄收縮行爲」。導航欄就像其他事物一樣是一個視圖/控件 –