无法在IB中调整UIView的大小

可能是简单的东西,但我不明白为什么我不能在Interface Builder中的xib中调整UIView的大小。

我在xcode中创build了一个新的视图XIB,并且在大小检查器中,宽度和高度被禁用,并在460处变成灰色320.这很奇怪,因为我可以改变其他两个视图的大小(与另外两个标签栏项目)。

我不确定这是否有什么关系,但我最近更新了sdk为3。

谢谢!

我认为在模拟任何用户界面元素(如Interface Builder中的状态栏)时不能编辑大小。 如果启用了任何模拟元素,您可以尝试closures模拟元素。 不完全确定这是为什么,所以如果有人知道为什么这是真的,那么将会很感激。

为了在XCode 4.6.3 / 5.0.2中实现这一点,您需要遵循以下屏幕截图:

  1. 在“文件检查器”下 – >取消Use Auto Layout
  2. 点击属性select器并为尺寸selectFreeform

这是创build一个tableView的headerView时需要的

在这里输入图像说明

您正在查找的部分位于第一个Inspector面板(Command-1)上。 在顶部有一个标有模拟用户界面元素的部分。 默认状态栏是打开的。 您需要确保所有三个都设置为无。

与Xcode 4.2,iOS 5.0.1一样,默认的模拟度量包括将UIViewController的'size'属性模拟为'Inferred'

如果将此属性更改为“Freeform”,则可以调整UIViewController中包含的UIView的大小,同时也可以模拟状态栏(或者其他任何模拟)

只需去检查员,进入第一个面板(或按命令1),然后将名为“模拟用户界面元素”部分下标记为状态栏,顶部栏和底部栏的字段更改为无。 您可能需要点击这个小三angular形才能看到它们。

我注意到在创buildxib文件时自动创build的UIView无法从大小调整面板或边缘句柄resize。

我所做的只是添加另一个UIView,并将所有从旧的UIView拖到新的UIView,然后删除旧的UIView。

它解决了我的问题,但是,我认为苹果解决scheme的界面生成器存在一个潜在的问题(有人纠正我,如果我错了)。

我正在使用XCode 4集成接口构build器。

有趣的我有一个类似的问题。 我已经从xib文件中删除了所有视图并重新添加了一个视图。 将状态栏设置为“未指定”,以便状态栏不适用。 这个视图在被添加的时候,按照我的预期,用x = 0,y = 0,w = 320 h = 460而不是(0,0,320,480)创build。 将高度更改为480后,将其连接到文件的所有者,然后更改颜色以使其与背景相关。 我发现屏幕顶部和视图之间有一个白色的带子。 我用以下代码增强了我的代码:

  #define RECTLOG(rect)(NSLog(@“”#rect @“x:%fy:%fw:%fh:%f”,rect.origin.x,rect.origin.y,rect.size.width,rect .size.height));

在viewDidLoad中

 - (void)viewDidLoad {
     [super viewDidLoad];
     RECTLOG(self.view.frame);
 }

事实certificate,这个视图是从IB加载的,实际上是(0,20,320,480)作为解决方法,我用self.view.frame = CGRectMake(0,0,320,480)重置视图的框架。

我正在使用IB 3.2.5

我很想知道这个问题。

我用另一种方式把它整理出来

用你最喜欢的文本编辑器打开你的xib并编辑这一行

  <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="CompassViewController"> 

CompassViewController是你试图链接你的nib / xib的类名。

只要用正确的class名编辑你的class名,就完成了;)