`[[[UIApplication sharedApplication] keyWindow] addSubview:`在底部留空间

时间:2010-02-09 13:56:46

标签: iphone xcode interface-builder uitabbar

我正在尝试在一个标签栏上加载一个视图(带有日期选择器),该标签栏作为我的应用委托文件中的子视图加载。

我这样做:

[[[UIApplication sharedApplication] keyWindow] addSubview:viewWithPicker];

它有效,但它在底部留下一个小间隙,大到足以显示标签栏 如何在添加后再次删除子视图?

有谁知道如何修复它?谢谢:))

4 个答案:

答案 0 :(得分:1)

您有责任正确设置viewWithPicker的{​​{1}}或frame属性,以使其显示在正确的位置。

答案 1 :(得分:0)

您是否在Interface Builder中将其配置为在工具栏的底部留出空间,或者将大小设置为使其小于完整大小(480 x 320px)的任何内容?

如果要将其作为子视图添加到使用工具栏的ViewController,您可能需要查看this问题以获取更多信息。

答案 2 :(得分:0)

关键窗口占用全屏尺寸(320 x 480),但状态栏始终位于关键窗口上方。

当您将子视图添加到关键窗口而不手动设置其框架或中心时,其原点将放置在(0,0),状态栏将显示在顶部。

您在视图底部看到的空间是因为您的视图的高度可能设置为460,如果视图是在Interface Builder中创建的并且“模拟界面元素”设置为显示状态,则会发生这种情况杆

您需要更改子视图的y值,使其位于状态栏下方。 20通常是一个很好的值,因为这是状态栏的高度。但是,状态栏高度可能会在未来版本的iPhone OS中发生变化,因此硬编码这样的值是一个坏主意。

答案 3 :(得分:0)

我修好了!

就像将叠加视图设置为480px高度一样简单。