
我希望该应用程序始终以纵向方向显示.
我通过添加以下代码强制它.这很有效.
在AppDelegate中:
func application(application: UIApplication,dIDFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { // OverrIDe point for customization after application launch. let value = UIInterfaceOrIEntation.Portrait.rawValue UIDevice.currentDevice().setValue(value,forKey: "orIEntation") return true } 我为所有VIEw控件使用以下子类:
class PortraitVIEwController: UIVIEwController { overrIDe func shouldautorotate() -> Bool { return true } overrIDe func preferredInterfaceOrIEntationForPresentation() -> UIInterfaceOrIEntation { return UIInterfaceOrIEntation.Portrait } overrIDe func supportedInterfaceOrIEntations() -> Int { return Int(UIInterfaceOrIEntationMask.Portrait.rawValue) }} 然后,我在我的应用程序中添加了一个SLComposeVIEwController,以便用户可以发布到Facebook.如果用户在设备处于横向状态时打开此SLComposeVIEwController,则SLComposeVIEwController将接管并旋转屏幕,包括已呈现的所有其他VIEwController.
我想强制SLComposeVIEwController始终保持纵向方向,但无法弄清楚如何让它工作.
谁能帮我?
这是我用来打开SLComposeVIEwController的代码.
func pressFacebook(){ if PortraitSLComposeVIEwController.isAvailableForServiceType(SLServiceTypeFacebook) { var facebookSheet: SLComposeVIEwController = SLComposeVIEwController(forServiceType: SLServiceTypeFacebook) facebookSheet.setinitialText("My Status!") self.presentVIEwController(facebookSheet,animated: true,completion: nil) facebookSheet.addURL(NSURL(string: "www.blahblah.com")) facebookSheet.addImage(UIImage(named: "fb.jpg")) }} 提前致谢!
解决方法 我能够通过继承SLComposeVIEwController来解决这个问题import Socialimport UIKitclass ComposeVIEwController: SLComposeVIEwController { overrIDe func shouldautorotate() -> Bool { return true } overrIDe func supportedInterfaceOrIEntations() -> Int { return Int(UIInterfaceOrIEntationMask.Portrait.rawValue) }} 总结 以上是内存溢出为你收集整理的ios – 当SLComposeViewController加载时,即使我已将Main UIViewController修复为Portrait,它也会旋转到设备方向全部内容,希望文章能够帮你解决ios – 当SLComposeViewController加载时,即使我已将Main UIViewController修复为Portrait,它也会旋转到设备方向所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)