作者leondemon (狗狗)
看板MacDev
标题[问题] Nib下的UIView frame...
时间Fri Mar 23 21:51:43 2012
其实这个问题已经疑惑两年多了 (茶)
我使用了Nib loading chain reaction一次载入多个Nib档:
1) 在MainWindow.xib内加入一个viewController object,并建立IBOutlet connection
(该viewController的类别暂称为BlueViewController)
2) 设定该viewController会自动去load另外一个Nib file来initiation。
(Attribute inspector > View Controller > Nib name做设定)
3) 在rootViewController的-viewDidload下,把BlueViewController.view
加在rootViewController.view的subviews内
然後执行程式
MainWindow.xib会去load FooViewController.xib并建立起IB connection
并顺利把view hierrachy建立起来。
结果跑simulator:
http://ppt.cc/385H
blueView和StatusBar之间会有一个跟StatusBar一样高(20 pixel)的空隙
NSLog一下还没add到rootView之前的frame
发现似乎刚从Nib file load出来的View都会是{(0, 20), (320, 460)}这个大小?
而也不管我怎麽在Nib档内去设定那个View的大小或property
载入後都会是这个frame的origin都会是(0, 20)...
有办法在Nib档内设定的View (onwer为viewController)
在load完Nib档後 他的frame.origin会是(0, 0)吗?
不想在loadDidView的时候还要手动写code去修改frame >"<
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 42.78.37.20
※ 编辑: leondemon 来自: 42.78.37.20 (03/23 21:53)
1F:推 johnlinvc:测了一下,在MainWindow.xib选viewController 03/23 22:19
2F:→ johnlinvc:Attribut->View Controller->wants full screen 03/23 22:20
3F:→ johnlinvc:勾起来就可以了 03/23 22:20
4F:→ leondemon:感谢!! 03/23 23:15
5F:推 Blueshiva:困惑两年多,结果po出来之後30分钟解决 XD 03/24 15:56
6F:→ leondemon:以前都是load完view之後 手动改frame XD 03/24 16:42
7F:→ reon:不就把BlueViewController的xib size inpsector y改成0 04/12 11:52
8F:→ reon:就好了吗== 预设的Y都是喂它20阿...\ 04/12 11:53
9F:→ reon:所以当然上面会有空白.... 04/12 11:54