1
因此,我有一個基於視圖的應用程序,其中需要一個包含tableview的頁面,並且我希望它上面的導航欄能夠返回。在實現代碼如下類我實現的viewDidLoad中通過以編程方式創建的導航欄更改autoresizingMask
-(IBAction)switchToTableView; {
tableView *table = [[tableView alloc] initWithNibName:@"tableView" bundle:nil];
UINavigationController *navControl = [[UINavigationController alloc] initWithRootViewController: table];
table.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[table release];
[self presentModalViewController: navControl animated:YES];
[navControl release];
}
然後:我添加了這個編程
- (void)viewDidLoad
{
self.tableView.rowHeight = 70.f;
UIBarButtonItem *back = [[UIBarButtonItem alloc]
initWithTitle:@"Back"
style:UIBarButtonItemStyleDone
target:self
action:@selector(switchToHome)];
self.navigationItem.leftBarButtonItem = back;
UIBarButtonItem *map = [[UIBarButtonItem alloc]
initWithTitle:@"Map"
style:UIBarButtonItemStyleDone
target:self
action:@selector(switchBacktoFindArt)];
self.navigationItem.rightBarButtonItem = map;
[map release];
[super viewDidLoad];
}
添加所需的按鈕。現在,所有這些都運行良好,但現在我正在瀏覽我的應用並允許改變方向,因爲我無法更改IB中的autoresizingMask,所以我遇到了這個問題。整個tableview頁面調整得很好,除了導航欄從上到下變得非常瘦。我希望它保持相同的高度。我如何去設置合適的蒙版,甚至是否訪問IB之外的導航欄?
感謝您的反饋!它看起來像會工作,但我把這個命令放在[table release]上面的switchToTableView方法中,不幸的是它似乎沒有做任何事情。有任何想法嗎?我認爲導航欄對於大多數人來說是一個令人愉快的高度,因爲它大約是普通厚度的2/3,特別是因爲景觀中的桌面視圖使得視圖很小,但是我在mapview和這個tableview之間來回切換相同的導航欄,所以我認爲這將是很好的保持它們均勻厚實。 – Ryan 2011-05-20 20:34:37