我正在阅读一本书,其中一个挑战是以编程方式设置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 ...似乎无法弄清楚出了什么问题..
答案 0 :(得分:0)
您正在使用过时的教程。我们现在使用NSAutolayoutConstraints
(adoption guide)。你会更好地了解如何使用它。
如果您确实想要使用setAutoresizingMask:
,请先关闭笔尖中的自动布局,或者在视图中将translatesAutoresizingMaskIntoConstraints
设置为“否”。