zoukankan      html  css  js  c++  java
  • Swift

    通过UIDevice.currentDevice()来获取设备,可以取得设备当前的方向。

    同时,我们可以添加一个通知来监听设备方向的变化,这样在开发中可以对不同的方向定制不同的排版布局界面。

    下面通过一个样例,演示如何监测设备方向:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    import UIKit
     
    class ViewController: UIViewController {
         
        @IBOutlet weak var orientationLabel: UILabel!
         
        override func viewDidLoad() {
            super.viewDidLoad()
            
            //感知设备方向 - 开启监听设备方向
            UIDevice.currentDevice().beginGeneratingDeviceOrientationNotifications()
            //添加通知,监听设备方向改变
            NSNotificationCenter.defaultCenter().addObserver(self, selector: "receivedRotation",
                name: UIDeviceOrientationDidChangeNotification, object: nil)
             
            //关闭设备监听
            //UIDevice.currentDevice().endGeneratingDeviceOrientationNotifications()
        }
         
        //通知监听触发的方法
        func receivedRotation(){
            var device = UIDevice.currentDevice()
            switch device.orientation{
                case .Portrait:
                    orientationLabel.text = "面向设备保持垂直,Home键位于下部"
                case .PortraitUpsideDown:
                    orientationLabel.text = "面向设备保持垂直,Home键位于上部"
                case .LandscapeLeft:
                    orientationLabel.text = "面向设备保持水平,Home键位于左侧"
                case .LandscapeRight:
                    orientationLabel.text = "面向设备保持水平,Home键位于右侧"
                case .FaceUp:
                    orientationLabel.text = "设备平放,Home键朝上"
                case .FaceDown:
                    orientationLabel.text = "设备平放,Home键朝下"
                case .Unknown:
                    orientationLabel.text = "方向未知"
                default:
                    orientationLabel.text = "方向未知"
            }
        }
    }
  • 相关阅读:
    「疫期集训day7」周期
    「字符串」哈希板子
    「疫期集训day6」雨林
    「疫期集训day5」火焰
    「数据结构」对顶堆
    「STL中的常用函数 容器」
    「单调队列优化DP」P2034 选择数字
    bootstrap table使用及遇到的问题
    ArcGIS栅格影像怎么从WGS84地理坐标转成Xian80投影坐标
    arcgis如何求两个栅格数据集的差集
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/4843551.html
Copyright © 2011-2022 走看看