可能很简单,但我无法理解为什么我无法在Interface Builder中的xib中调整UIView的大小。
我在xcode和大小检查器中创建了一个新的视图XIB,宽度和高度被禁用并变为320乘460.这很奇怪,因为我可以更改其他两个视图的大小(与其他视图相关联)两个标签栏项目)。
我不确定这是否与此有关,但我最近将sdk更新为3。
谢谢!
答案 0 :(得分:81)
我认为在模拟任何用户界面元素(例如Interface Builder中的状态栏)时无法编辑大小。如果启用了模拟元素,您可以尝试关闭模拟元素。不完全确定为什么会这样,所以希望得到任何知道原因的人的反馈 - 必须有充分的理由。
答案 1 :(得分:74)
为了在XCode 4.6.3 / 5.0.2中实现这一点,您需要按照以下屏幕截图进行操作:
Use Auto Layout
Freeform
作为尺寸为tableView
创建headerView时需要这样做
答案 2 :(得分:40)
您要查找的部分位于第一个Inspector面板(Command-1)上。在顶部有一个标记为模拟用户界面元素的部分。默认情况下,状态栏处于打开状态。您需要确保所有三个都设置为无。
答案 3 :(得分:26)
与Xcode 4.2,iOS 5.0.1一样,默认的模拟指标包括将UIViewControllers的'size'属性模拟为'Inferred'
如果将此属性更改为“自由格式”,则可以调整UIViewController中包含的UIView的大小,同时还可以模拟状态栏(或任何其他模拟)
答案 4 :(得分:4)
只需转到检查器,转到第一个面板(或按命令-1),然后在“模拟用户界面元素”部分下将标记为状态栏,顶栏和底栏的字段更改为无。您可能需要单击小三角形才能使它们可见。
答案 5 :(得分:1)
有趣我有类似的问题。我已从xib文件中删除了所有视图并重新添加了视图。将状态栏设置为“未指定”,以便不支持状态栏。添加时,视图会被创建为x = 0,y = 0,w = 320 h = 460而不是(0,0,320,480),正如我所期望的那样。将高度更改为480并将其连接到文件所有者并更改颜色以使其与背景相区别。我想知道屏幕顶部和视图之间有一条白色条带。 我用以下代码扩充了我的代码:
#define RECTLOG(rect) (NSLog(@"" #rect @" x:%f y:%f w:%f h:%f", rect.origin.x, rect.origin.y, rect.size.width, rect.size.height ));
在viewDidLoad
中- (void)viewDidLoad { [super viewDidLoad]; RECTLOG(self.view.frame); }
原来视图是从IB加载的视图实际上是(0,20,320,480) 作为解决方法,我使用self.view.frame = CGRectMake(0,0,320,480)重置了视图的框架;
我正在使用IB 3.2.5
我很想知道这个问题的一些解决方法。
答案 6 :(得分:1)
我注意到在创建xib文件时自动创建的UIView无法从大小调整面板或边缘句柄调整大小。
我所做的只是添加另一个UIView并将所有内容从我的旧UIView拖到新的UIView然后删除旧的。
它为我解决了这个问题但是,我认为Apple的界面构建器存在潜在的问题需要解决(如果我错了,有人会纠正我)。
我正在使用XCode 4集成接口构建器。
答案 7 :(得分:0)
我以不同的方式对它进行了整理......
使用您喜欢的文本编辑器打开您的xib并编辑此行
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="CompassViewController">
CompassViewController
是您尝试将nib / xib与。
只需使用正确的类名编辑您的班级名称即可完成;)
答案 8 :(得分:0)