我屏幕上有一个UILabel,目前是纵向的。但是,我在前一层渲染了一个3D场景,无论如何都呈现出景观。我怎样才能将标签的点设置为0,0;并在0,0时可见;好像是在风景中。我想它需要旋转90度,然后将轴反转。
我已经编写了一些代码,但它并没有像我希望的那样有效。
control.transform = CGAffineTransformRotate(CGAffineTransformIdentity, M_PI/2);
CGRect newFrame = CGRectMake(oldFrame.origin.x, oldFrame.origin.y, control.frame.size.width, control.frame.size.height);
newFrame.origin.y = 320 - (newFrame.origin.y - control.frame.size.width);
//invert the x and y axis
CGFloat x1 = newFrame.origin.y;
CGFloat y1 = newFrame.origin.x;
CGFloat w1 = newFrame.size.width;
CGFloat h1 = newFrame.size.height;
control.frame = CGRectMake(x1, y1, w1, h1);
我对此感到很困惑!
任何帮助表示感谢。
答案 0 :(得分:0)
你应该尽量不要混合肖像和风景 尝试使用仅允许横向的UIViewController;定位标签会更容易。
答案 1 :(得分:0)
UIView类有两种方法可以将点从一个视图转换为另一个视图。这些方法考虑了视图转换。