【问题标题】:Load XIB into a UIView将 XIB 加载到 UIView 中
【发布时间】:2011-10-11 11:15:45
【问题描述】:

我的 UIView 没有覆盖 iPhone 的整个屏幕...大约 200 x 300 像素。

我正在尝试将 xib 加载到此视图中,但它似乎有问题。代码有效,但 UIView 在全屏时接管了所有内容……而不是在 UIView 的确定宽度上。

这是我的代码:

incViewPopUP = [[[NSBundle mainBundle] loadNibNamed:@"IncidentsViewController" owner:self options:nil] objectAtIndex:0];

我也尝试将其添加为如下所示的子视图..但这也不起作用。

UIView *myView = [[[NSBundle mainBundle] loadNibNamed:@"IncidentsViewController" owner:self options:nil] objectAtIndex:0];
[incViewPopUP addSubView:myView];

感谢您的帮助!

【问题讨论】:

    标签: iphone ios uiview xib


    【解决方案1】:

    您可能需要从视图中删除所有虚拟组件,例如状态栏和 IB 中的其他栏。从那时起,您可以在 IB 中编辑视图的大小。

    【讨论】:

      【解决方案2】:

      亚当,试试这个:

      MyViewController *myViewController=[MyViewController alloc] initWithNib:@”IncidentsViewController”];
      
      [myView addSubView:myViewController.view];
      
      [myViewController release];
      

      只要确保 XIB 具有适合您的 UIView 的大小即可。

      【讨论】:

      • 嗨 Jacky Boy... 感谢您的帮助,但我收到了两个错误并且它崩溃了。以下是错误:Instance method '-initWithNib:' not found (return type defaults to 'id')Instance method '-addSubView:' not found (return type defaults to 'id')
      • 嗨 Jacky Boy...刚刚修好了。我的“addSubView”应该有一个小写的“v”...谢谢!
      【解决方案3】:

      您是否尝试以编程方式设置 myview 的帧大小?设置 myView.frame = CGRectMake (0,0,320,420) ?或者您可以为该框架提供您最喜欢的值:)

      【讨论】:

      • 我做到了...似乎仍然没有改变任何东西。
      猜你喜欢
      • 2016-06-10
      • 2015-04-08
      • 2016-02-29
      • 2018-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-31
      相关资源
      最近更新 更多