0

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

所以实际上有两个问题:

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

2)我的代码正确吗?所以这就是我所做的。

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

@property (nonatomic) IBOutlet UISlider *slider;

然后我在 IB 中建立了从 File Owner 到 Horizo​​ntal Slider 的连接,并提到了“slider”。在应用程序委托文件中,我将 viewController 设置为 rootViewController。

[viewController.slider setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleBottomMargin];

仍然当我模拟和改变方向时,滑块的宽度并没有改变。

多谢你们!

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

4

1 回答 1

0

您正在使用过时的教程。我们NSAutolayoutConstraints现在使用(采用指南)。弄清楚如何使用它会更好。

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

于 2013-11-09T02:28:31.323 回答