我有一个可以在应用程序中的任何位置呈现的ViewController。我用这段代码pattern ::= <alternation>
alternation ::= <sequence> <alternation2>
alternation2 ::= "|" <alternation> | ""
sequence ::= <quantified_atom> <sequence> | ""
quantified_atom ::= <atom> <quantified_atom2>
quantified_atom2 ::= <modified_quantifier> | ""
modified_quantifier ::= <quantifier> <modified_quantifier2>
modified_quantifier2 ::= <quantifier_modifier> | ""
展示了它。所以我想禁用方向,只支持肖像。我尝试过这么多解决方案,实施UIApplication.sharedApplication().keyWindow?.rootViewController?.presentedViewController?.presentViewController
但没有任何帮助。有人遇到过这个问题吗?
答案 0 :(得分:0)
你是否在viewDidLoad中尝试过这个?
viewDidLoad() {
let value = UIInterfaceOrientation.Portrait.rawValue
UIDevice.currentDevice().setValue(value, forKey: "orientation")
shouldAutorotate()
}
答案 1 :(得分:0)
您是否尝试在呈现viewController之前设置设备方向?
NSNumber *value = [NSNumber numberWithInt:UIInterfaceOrientationPortrait];
[[UIDevice currentDevice] setValue:value forKey:@"orientation"];
然后覆盖“present”viewController中的shouldAutorotate方法并返回NO:
-(BOOL)shouldAutorotate
{
return NO;
}
或在Swift中:
let value = UIInterfaceOrientation.Portrait.rawValue
UIDevice.currentDevice().setValue(value, forKey: "orientation")
和
override func shouldAutorotate() {
return false
}
您将看到旋转动画,但它可以在我的应用中使用。