使用接口构建器和代码来设置autoresizingMask

时间:2013-11-09 01:58:43

标签: interface-builder autoresizingmask

我正在阅读一本书,其中一个挑战是以编程方式设置autoresizingMask。 唯一的问题是我无法检查我的代码是否正确,因为它看起来像setAutoresizingMask:被我在IB中设置的内容覆盖。

实际上有两个问题:

1)有没有办法关闭IB中的autoresizingMask?我删除了IB中的所有设置,而不是代码接管,似乎Xcode将其解释为autoresizingMask设置为默认值。

2)我的代码是否正确?所以这就是我的所作所为。

在视图控制器文件中......

@property (nonatomic) IBOutlet UISlider *slider;

然后我在IB中从文件所有者到水平滑块连接并引用“滑块”。 在app委托文件中,我将viewController设置为rootViewController。

[viewController.slider setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleBottomMargin];

当我模拟并改变方向时,滑块的宽度不会改变。

谢谢你们!

* * 实际上似乎我的代码在某种程度上是错误的... NSLogging autoresizingMask在设置代码后立即返回0 ...似乎无法弄清楚出了什么问题..

1 个答案:

答案 0 :(得分:0)

您正在使用过时的教程。我们现在使用NSAutolayoutConstraintsadoption guide)。你会更好地了解如何使用它。

如果您确实想要使用setAutoresizingMask:,请先关闭笔尖中的自动布局,或者在视图中将translatesAutoresizingMaskIntoConstraints设置为“否”。