调整UITableView的大小以在半透明标题变为可见之前容纳它

时间:2010-05-29 07:12:08

标签: iphone xamarin.ios

我在UINavigationController中有一个UITableView。导航控制器使用半透明导航栏 - 因此,我的表格视图显示在导航栏后面,其高度包括导航栏的高度。但是,我希望表格视图显示在导航栏下方(如果它不是半透明的那样)。

我在MonoTouch工作,但我认为这些原则与语言无关。这是我用来调整UITableView框架大小的代码:

RectangleF rect = tableView.Frame;
tableView.Frame = new RectangleF (rect.Left, rect.Top + 44, rect.Width, rect.Height - 44);
tableView.ContentInset = new UIEdgeInsets (0, 0, 0, 0);

如果我将它放在viewDidAppear方法中,这可以正常工作,但在viewWillAppear方法中不起作用。然而,在viewDidAppear方法中,我可以看到以闪烁形式短暂发生的调整大小。我想在帧出现之前进行调整大小。但是,如果我将此代码放在viewWillAppear或viewDidLoad中,则它无效。

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您可以将自定义tableHeaderView添加到与导航栏高度相同的表格(44像素)。这将推动剩下的表格。