代码之家  ›  专栏  ›  技术社区  ›  sudo rm -rf

子视图在下面显示主视图

  •  2
  • sudo rm -rf  · 技术社区  · 14 年前

    theLaunch = [[firstLaunch alloc] init]; 
    
    [window addSubview:theLaunch.view]; // it goes on top   
    [window makeKeyAndVisible];
    

    这是截图…下面的景色是灰色的。 alt text

    3 回复  |  直到 14 年前
        1
  •  3
  •   westsider    14 年前

    看起来您没有正确地“锚定”子视图。如果在IB中,则可以尝试将子视图附加到包含视图的底边。您的“主视图”似乎正在拉伸以容纳可用空间(状态栏的存在会更改此空间),而您的“子视图”似乎已定位(0,0)。类似的事情可能会有帮助:

    alt text

    通过编程,您可以使用UIView的autoresizingMask。类似于:

    theLaunch.view.autoresizingMask = UIViewAutoresizingFlexibleBottomMargin;
    

    我有多自信这才是真正的问题?没有我想的那么自信。

        2
  •  0
  •   GendoIkari    14 年前

    您在哪里定义firstLaunch的用户界面?如果它在nib文件中,你需要 theLaunch = [[firstLaunch alloc] initWithNibName:@"firstLaunch" bundle:nil]; . 如果您是手动添加接口元素;您在哪里执行此操作?如果你在ViewDidLoad中手动添加它们,我认为你应该看到它。

        3
  •  0
  •   Ryan    14 年前

    您的图像可能在下面的图像所显示的位置具有alpha透明度。如果你不想要那种效果,你应该重新创建没有字母(完全不透明)的图像。

    如果由于某种原因无法重新创建图像,可以尝试将图像视图的“不透明”属性设置为“是”(我不确定这是否有效),或者在图像视图下添加另一个不透明且具有不透明的纯色背景的视图。