当我第一次启动iOS时,当时是iOS 8,我有一个错误花了整整一天的时间才弄清楚。 问题是,尽管我已经将主ViewController锁定为纵向模式,但状态栏始终会定向为设备定向。 这就是为什么我在GitHub上启动notes项目的原因,该项目详细说明了我所面临的问题。 ViewController已锁定为人像,但设备旋转时状态栏也会旋转·问题2• 问题rootViewController被锁定为纵向。 当我旋转时,视图控制器为纵向,但状态为… github.com 现在是iOS 12,令我惊讶的是人们仍然遇到这个问题。 今天,我将在iOS 12项目中修订此问题并使用Swift。 支持的界面方向 大多数应用仅支持纵向模式,横向或横向有1或2个屏幕可用于图像查看或视频播放器。 因此,我们通常声明纵向,横向左和横向右。 从iOS 7开始,应用具有简单的设计,着重于内容。 UIViewController在外观规范中被赋予了更大的作用。 假设我们有一个MainViewController作为rootViewController ,我们希望将其锁定为纵向模式。 @UIApplicationMain 类AppDelegate:UIResponder,UIApplicationDelegate { var window:UIWindow? func application(_ application:UIApplication,didFinishLaunchingWithOptions launchOptions:[UIApplication.LaunchOptionsKey:Any]?)->布尔{ 窗口= UIWindow(框架:UIScreen.main.bounds) window?.rootViewController = MainViewController() 窗口?.makeKeyAndVisible() 返回真 } } 我们可以在Info.plist指定一个名为UIViewControllerBasedStatusBarAppearance的属性,以断言我们希望UIViewController动态控制状态栏的外观。 一个布尔值,指示状态栏外观是否基于当前视图控制器的首选样式。 首先在Info.plist中进行声明 UIViewControllerBasedStatusBarAppearance 然后在MainViewController ,将状态栏锁定为纵向 导入UIKit 类MainViewController:UIViewController { 让标签= UILabel() 覆盖func viewDidLoad(){ super.viewDidLoad() view.backgroundColor = .yellow […]
我们经常打开地图,以了解如何去认识我们的朋友:当我们加入酒吧时,在步行到休息室后在露天或在您致电商店后喝咖啡后对您钟爱的最新时尚进行评分。 发生这种情况时,仅点击该地图即可知道直接路线,这不是很好吗? 好了,现在您可以在iPhone上了。 而这正是您需要的地方。 点击您的朋友标记以打开上下文。 现在有两个图标,鞋子和路标。 这双鞋向您展示了与朋友的最短途径。 只需点击它们即可查看建议的路线。 您始终可以通过单击刷新图标来刷新建议的路线。 另一方面,路标可让您跳至另一个支持转弯导航的应用程序,例如Google Maps。 我们希望这可以节省您一些时间。 期待您的反馈。 在评论中以一行显示,将电子邮件发送至pathshare@freshbits.ch或在仪表板右下方发送直接消息。 斯特凡,贾罗和托马斯
您可以从应用中拍摄一张照片,然后将其以纵向显示在图像视图中,但是每当将此图像上载到服务器时,该图像的原始方向都没有。 因此,来自服务器的图像将原始人像图像旋转90度。 因此,您必须正确旋转,然后才能在服务器上上传原始图像。 在此处创建功能,以便在Swift 3.0及更高版本中定位图像。 func imageOrientation(_ srcImage:UIImage)-> UIImage { 如果srcImage.imageOrientation == UIImageOrientation.up { 返回srcImage } var转换:CGAffineTransform = CGAffineTransform.identity 切换srcImage.imageOrientation { case UIImageOrientation.down,UIImageOrientation.downMirrored: transform = transform.translatedBy(x:srcImage.size.width,y:srcImage.size.height) 转换= transform.rotated(作者:CGFloat(M_PI))//使用Swift 4.0时用Double.pi替换M_PI 打破 case UIImageOrientation.left,UIImageOrientation.leftMirrored: transform = transform.translatedBy(x:srcImage.size.width,y:0) 当使用Swift 4.0时,transform = transform.rotated(作者:CGFloat(M_PI_2))//用Double.pi / 2替换M_PI_2 打破 case UIImageOrientation.right,UIImageOrientation.rightMirrored: transform = transform.translatedBy(x:0,y:srcImage.size.height) 当使用Swift 4.0时,transform = transform.rotated(作者:CGFloat(-M_PI_2))//用Double.pi / 2替换M_PI_2 打破 案例UIImageOrientation.up,UIImageOrientation.upMirrored: […]