在我的应用程序中,我的所有控件都是在代码中创建的。我没有使用IB来控制。现在我想旋转视图到风景模式。我知道我必须为此使用shouldAutorotate方法。但由于我没有使用过IB,所以当它们处于横向模式时,如何调整控件大小?我怎样才能正确使用代码定位他们? PLZ帮助我,这是一种重要而紧迫的事情。 thnx提前。旋转UI查看IB
旋转UI查看IB
回答
在大多数情况下,你可以得到的观点,只是由他们autoresizingMask属性设置的某种组合适当地调整自己:
UIViewAutoresizingFlexibleLeftMargin
UIViewAutoresizingFlexibleRightMargin
UIViewAutoresizingFlexibleTopMargin
UIViewAutoresizingFlexibleBottomMargin
UIViewAutoresizingFlexibleWidth
UIViewAutoresizingFlexibleHeight
例如,假设您希望在它旋转到横向视图的宽度增加,你希望它同利润率相对于上,左,右两侧,屏幕的维护,你希望它的高度保持不变。这意味着在上述六个属性中,只有宽度和底部边距应该是灵活的。其他四个属性是固定的。所以,你会怎么做:
yourView.autoresizingMask = UIViewAutoResizingFlexibleWidth | UIViewAutoresizingFlexibleBottomMargin;
在那些极少数情况下,当你不能得到的意见,做出相应的表现用他们autoresizingMask属性,你可以自定义视图将它们包装和覆盖该视图的layoutSubviews
方法。此方法在视图的框架由于自转而更改时被调用,因此您可以检查[[UIApplication sharedApplication] statusBarOrientation]
并手动更新子视图的框架。
您可以使用代码正确定位它们,就像您可能将它们定位到原始方向一样,例如通过设置它们的框架。
至于代码的执行位置,请查看UIViewController的各种方向更改方法,该方法将在设备方向更改时调用。例如,您可以在willAnimateRotationToInterfaceOrientation:duration:范围内移动/调整视图中的控件大小。
嗨。 thnx的回应。但我关心的是,我必须为每个对象设置帧的横向格式吗?我的意思是我将不得不为每个对象设置两次帧,即 - 纵向和横向?这将变得很麻烦,因为我有很多的意见,并在他们每一个很多的控制?你有什么样的例子或代码能帮助我吗? – Jayshree 2010-09-03 04:56:23
- 1. 在IB中旋转标签?
- 2. ObjC - 自动查看旋转
- 3. 在touchesMoved中查看旋转
- 4. 查看当前旋转
- 5. iOS - IB查看模式
- 6. 用鼠标旋转Ui对象查看UWP
- 7. 如何在Xcode + IB中旋转UIbutton?
- 8. 旋转UI控件
- 9. 自动旋转:查看高度恢复到原来的旋转
- 10. Xcode Autolayout - 查看旋转时未选中
- 11. Maya MFnRotateManip查看旋转手柄
- 12. 随机旋转图像查看
- 13. UIActivityIndicatorView的旋转率查看
- 14. 查看变换旋转抵消iOS中
- 15. Swift:Collection查看旋转后更改布局
- 16. iPad Modal View旋转parentViewController查看
- 17. 的iOS - 查看旋转和调整
- 18. 旋转图像查看随机
- 19. 在查看器中旋转2D可查看
- 20. 合金UI旋转木马
- 21. 使UI标签旋转
- 22. 图像旋转Protactor UI
- 23. 旋转图像使UI慢
- 24. 旋转JQuery UI选项卡
- 25. 用jQuery UI查看和部分查看
- 26. 防止AVCaptureVideoPreviewLayer旋转,但允许UI层以方向旋转
- 27. jQuery UI的旋转GET旋转程度,当它停止
- 28. 无法查看Airpal UI
- 29. Backbone.js查看jquery ui事件
- 30. Kendo Ui web列表查看
hey thnx。我认为这将帮助我与笏我试图实现。我认为autoresizing属性会锻炼得很好。 – Jayshree 2010-09-03 06:26:25