调整UIView大小并在更改方向时旋转

时间:2016-04-27 18:24:54

标签: ios objective-c iphone

我有一个viewController,它被呈现给屏幕,我将方向设置为Landscape使用 - (UIInterfaceOrientationMask)supportedInterfaceOrientations { return UIInterfaceOrientationMaskLandscape; } 在这个viewController视图的同一个Xib文件中,我有另一个设置在顶部的视图,就像这样 Normal Control 视图本身不应该旋转,但是当我改变方向时,我希望这个视图有滑块旋转并转到顶部。

我收到了使用更改方向的通知 [[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];

首先,我尝试使用view.bounds = CGRectMake(0, 0, newWidth, 44);更改此视图框架的宽度,然后使用变换旋转它,但我得到了类似after resize width

的内容

显然我丢失了视图右侧的内容我不知道为什么(因为我在界面构建器中有一些约束,告诉标签保留在视图右侧的权利)

在此之后,我尝试缩放视图,但我得到了类似的东西[我无法发布超过2个链接,但视图中的所有内容都变得更小(这应该是什么尺度应该做但是它是不是我想要的]]。我希望右边和左边的标签保持相同的宽度,当我调整视图的宽度时,只有滑块变小。

有谁知道我做错了什么?

谢谢!

2 个答案:

答案 0 :(得分:0)

为什么不使用自动布局?

这是一个截图,您可以为视图设置自动布局

答案 1 :(得分:0)

您应该使用autolayout。给顶部,前导,尾随和修复高度限制到该滑块,它将管理纵向和横向两者。希望这会有所帮助:)