使用transform旋转后,UI视图不会移动到屏幕边界

时间:2019-02-20 23:49:47

标签: swift rotation resize

晚上!我有一个仅用于纵向的应用程序,但是我需要在一个控制器中横向播放视频。视频在videoView UIView中播放。

在故事板上,视图距离窗口边界5mm。 为了尝试实现此目的,我旋转了videoView,现在视频以横向播放,但问题是它没有填满屏幕,似乎保持了旋转之前的宽度,然后压扁以适应屏幕的横向宽度。

旋转后我需要使UIview充满屏幕...可以吗?我已经尝试了在情节提要中可以想到的所有内容,并尝试在旋转后在下面进行编码以调整大小,但是似乎没有什么可以改变UIView的大小。

override func viewDidLoad() {
            super.viewDidLoad()
            videoView.transform = CGAffineTransform(rotationAngle: 45 * .pi/90.0)
            videoView.frame.size.height = view.frame.height
            videoView.frame.size.width = view.frame.width

    }

非常感谢所有建议。

1 个答案:

答案 0 :(得分:1)

Try this

override func viewDidLoad() 
{
super.viewDidLoad()
viewVideo.transform = CGAffineTransform(rotationAngle:CGFloat(M_PI_2))
viewVideo.frame = CGRect(x: 0 , y: 0, width: iPhoneWidth, height: iPhoneHeight)   
}

where 
iPhoneWidth  =  UIScreen.main.bounds.size.width
iPhoneHeight =  UIScreen.main.bounds.size.height