MFMailComposeViewController Swift - 将方向模式设置为仅纵向
MFMailComposeViewController Swift - Set orientation mode as portrait only
我正在使用 MFMailComposeViewController 如何将方向模式设置为仅纵向
MFMailComposeViewController
只是一个 ViewController。因此,您可以做的是创建您自己的 MFMailComposeViewController
子类并根据需要覆盖方向方法。
override func shouldAutorotate() -> Bool {
return false
}
override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
return .Portrait
}
基本格式是 CGAffineTransformMakeRotation( angle )
,其中 angle
是以弧度表示的 CGFloat
。您可以使用下面的示例代码轻松 rotate
任何 object
,而且如果您的项目只有横向,代码 advantage
是 不关心代码将您的视图转换为纵向
使用这个;
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
let screenSize: CGRect = UIScreen.mainScreen().bounds
// Set whatever frame you want
self.view.frame = CGRectMake(0,0,screenSize.width,screenSize.height)
self.view.transform = CGAffineTransformMakeRotation(CGFloat(-M_PI_2))
}
您还可以通过以下方式旋转视图更改:-M_PI_2
M_PI
= π = 180 度
M_PI_2
= π/2 = 90度
M_PI_4
= π/4 = 45度
我正在使用 MFMailComposeViewController 如何将方向模式设置为仅纵向
MFMailComposeViewController
只是一个 ViewController。因此,您可以做的是创建您自己的 MFMailComposeViewController
子类并根据需要覆盖方向方法。
override func shouldAutorotate() -> Bool {
return false
}
override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
return .Portrait
}
基本格式是 CGAffineTransformMakeRotation( angle )
,其中 angle
是以弧度表示的 CGFloat
。您可以使用下面的示例代码轻松 rotate
任何 object
,而且如果您的项目只有横向,代码 advantage
是 不关心代码将您的视图转换为纵向
使用这个;
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
let screenSize: CGRect = UIScreen.mainScreen().bounds
// Set whatever frame you want
self.view.frame = CGRectMake(0,0,screenSize.width,screenSize.height)
self.view.transform = CGAffineTransformMakeRotation(CGFloat(-M_PI_2))
}
您还可以通过以下方式旋转视图更改:-M_PI_2
M_PI
= π = 180 度M_PI_2
= π/2 = 90度M_PI_4
= π/4 = 45度