码迷,mamicode.com
首页 > 编程语言 > 详细

Swift - 判断设备方向(或监听设备方向的改变)

时间:2015-09-28 11:41:03      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:

通过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 = "方向未知"
        }
    }
}

Swift - 判断设备方向(或监听设备方向的改变)

标签:

原文地址:http://www.cnblogs.com/Free-Thinker/p/4843551.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!