【发布时间】:2013-11-09 10:28:31
【问题描述】:
我正在阅读一本书,其中一个挑战是以编程方式设置 autoresizingMask。 唯一的问题是我无法检查我的代码是否正确,因为似乎 setAutoresizingMask: 被我在 IB 中设置的内容覆盖了。
所以实际上有两个问题:
1) 有没有办法在 IB 中关闭 autoresizingMask?我删除了 IB 中的所有设置,而不是代码接管,似乎 Xcode 将其解释为 autoresizingMask 设置为默认值。
2) 我的代码是否正确?所以这就是我所做的。
在视图控制器文件中...
@property (nonatomic) IBOutlet UISlider *slider;
然后我在 IB 中建立了从文件所有者到水平滑块的连接,并提到了“滑块”。 在应用程序委托文件中,我将 viewController 设置为 rootViewController。
[viewController.slider setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleBottomMargin];
当我模拟和改变方向时,滑块的宽度并没有改变。
谢谢大家!
** 实际上,我的代码似乎有点错误...... NSLogging autoresizingMask 在设置代码后立即返回 0...... 似乎无法弄清楚出了什么问题......
【问题讨论】:
-
实际上问题似乎在于我试图从 AppDelegate 文件中访问 viewController 的属性滑块。这是不允许的吗?我不知道。当我将此 setAuto.. 方法放入 -viewDidLoad 时,它工作正常...
标签: interface-builder autoresizingmask