【发布时间】:2026-02-16 08:45:01
【问题描述】:
好的,让我解释一下这个场景。我正在开发一个在主窗口中有背景图像的应用程序。我还有一个导航控制器,它不位于屏幕顶部,而是向下 100 像素。导航控制器是半透明的,因此您可以通过它看到背景。
现在问题来了。在应用程序的某个时刻,用户单击一个按钮,我有一个 UITableViewController 类,我使用 pushViewController 添加到导航控制器。这样做的问题是,虽然 tableview 的顶部直接出现在导航控制器下方,但它在导航控制器后面放置了一个白色背景,从而消除了半透明效果。
我尝试了以下方法: - 设置我的 tableviewcontroller 视图的 frame 属性, IE。
tableviewcontroller1.view.frame= CGRectMake(0,120,320,300);
(我玩过 y 位置,但无论我做什么都没有区别。)
我想也许我可以创建一个 UIViewController 并创建一个具有透明背景的视图,然后将 tableviewcontroller 添加为子视图,这样做我希望我在 tableviewcontroller 中设置的框架边界会生效。我尝试了以下方法:
[parentview.view addSubView: tableviewcontroller1]; // runtime error
[parentview.view addSubView: tableviewcontroller1.view]; // runtime error
[parentview.view addSubView: tableviewcontroller.tableView]; // runtime error
我真的很难理解为什么设置我的 tableviewcontroller.view 的 frame 属性没有效果,我检查了我所有的超级视图,但没有一个勾选“resize subviews”属性。
非常感谢对此的帮助,我真的被困在这里,我已经做了很多搜索但找不到答案。
非常感谢 迈克尔
【问题讨论】:
-
你得到什么运行时错误?
-
你想让表格视图有白色背景还是透明背景?
标签: ios5 uinavigationcontroller xcode4.2 uitableview