美文网首页
Swift区域监听

Swift区域监听

作者: 越天高 | 来源:发表于2020-05-02 16:27 被阅读0次

lazy var locationM: CLLocationManager = {
       
        let locationM = CLLocationManager()
        locationM.delegate = self
        
        // 请求授权 配置key
        if #available(iOS 8.0, *) {
            
            locationM.requestAlwaysAuthorization()
            if #available(iOS 9.0, *)
            {
                locationM.allowsBackgroundLocationUpdates = true
            }
        }
        
        return locationM
        
    }()
  // 如果想要进行区域监听, 在ios8.0之后, 必须要请求用户的位置授权
        
        // 区域监听
        // 1. 创建区域
        //监听状态前要判断,该区域是否可以被监听
        if CLLocationManager.isMonitoringAvailable(for: CLCircularRegion.self)
        {
            // 1. 创建区域
             //32.11612801,+118.80809973
             let center = CLLocationCoordinate2DMake(32.11612801, 118.80809973)
             var distance : CLLocationDistance = 100
            
             // 2. 监听区域
             // 使用前必须判定当前的监听区域半径是否大于最大可被监听的区域半径
             if(distance > self.locationM.maximumRegionMonitoringDistance)
             {
                 distance = self.locationM.maximumRegionMonitoringDistance;
             }
             let region  = CLCircularRegion(center: center, radius: distance, identifier: "工作")
            
           locationM.startMonitoring(for: region)
            //监听某个区域的状态
        }
  • 监听代理
extension ViewController: CLLocationManagerDelegate {
    
    /// 进入区域时调用
    func locationManager(_ manager: CLLocationManager, didEnterRegion region: CLRegion)
    {
        print("进入区域--" + region.identifier)
        enterLabel.text = "进入区域"
    }
    
    // 离开区域时调用
    func locationManager(_ manager: CLLocationManager, didExitRegion region: CLRegion) {
         print("离开区域--" + region.identifier)
        enterLabel.text = "离开区域"
    }
}
//监听区域的状态
  func locationManager(_ manager: CLLocationManager, didDetermineState state: CLRegionState, for region: CLRegion)
    {
        //监听某区域的状态
        if state == .inside
        {
            stateLabel.text = "进入状态区域"
        }else if state == .outside
        {
            stateLabel.text = "离开状态区域"
        }
        
    }

相关文章

  • Swift区域监听

    监听代理

  • 回车 enter 键盘监听

    JS监听某个输入框 S监听某个DIV区域 JS监听body区域

  • 区域监听

    区域监听 1.概念解释 区 域 : 就是指划定的一块地域范围(比如圆形区域, 则由区域中心, 和半径组成) ...

  • 区域监听

    区域顾名思义是一个指定的区域,对其进行监听。先普及一下一点知识 前提:加载一张指南针图片,其他的#import <...

  • iOS 实时监听沙盒文件夹的变化

    OC 版本 添加属性 开启监听 结束监听 Swift 版本 添加属性 开启监听 结束监听

  • iOS-仿奇鱼旅行app视觉差(parallax)动画

    如图,动画不清楚,看效果请移步github下载swift版本OC版本 原理:监听cell的滚动,对屏幕区域内可见c...

  • iOS 监听键盘事件

    Swift RAC 监听 系统方法监听 响应方法 remove observer Objective-C RAC 监听

  • iOS 区域监听

    一、基本步骤 1.导入CoreLocation框架和对应的主头文件 #import

  • Swift 网络监听

    Swift网络监听,当你使用Reachability.swift/Alamofire时,需要把Reachabili...

  • H5 实现下拉顶部放大

    1.监听整个下拉区域的touchstart事件,并记录下pageY和clientY值 2.监听整个区域的touch...

网友评论

      本文标题:Swift区域监听

      本文链接:https://www.haomeiwen.com/subject/ybhkghtx.html