// 计步器 var myTextView = UITextView() var pedometer = CMPedometer() var myBtn = UIButton()
myBtn.frame = CGRect(x:10,y:360,width:kScreenWidth-20,height:50)
myBtn.setTitle("按钮", for: .normal)
myBtn.setTitle("倒计时中", for: .disabled)
myBtn.backgroundColor = UIColor.orange
myBtn.setTitleColor(UIColor.white, for: .normal)
myBtn.setTitleColor(UIColor.blue, for: .disabled)
myBtn.addTarget(self, action: #selector(btnClick), for: .touchUpInside)
self.view.addSubview(myBtn)
func btnClick(){
self.startPedometerUpdates()
}
// ---------------------------------计步器--------------------------------------------
func creatPedometer(){
myTextView.frame = CGRect(x:20,y:100,width:kScreenWidth-20,height:200)
self.view.addSubview(myTextView)
// 创建触发按钮
myBtn.frame = CGRect(x:10,y:360,width:kScreenWidth-20,height:50)
myBtn.setTitle("按钮", for: .normal)
// myBtn.setTitle("倒计时中", for: .disabled)
myBtn.backgroundColor = UIColor.orange
// myBtn.setTitleColor(UIColor.white, for: .normal)
// myBtn.setTitleColor(UIColor.blue, for: .disabled)
myBtn.addTarget(self, action: #selector(btnClick), for: .touchUpInside)
self.view.addSubview(myBtn)
}
// 开始获取步数统计数据
func startPedometerUpdates(){
// 判断设备支持情况
guard CMPedometer.isStepCountingAvailable() else {
self.myTextView.text = "\n当前设备不支持获取步数\n"
return
}
// 获取今天凌晨时间
let cal = Calendar.current
var comps = cal.dateComponents([.year,.month,.day], from: Date())
comps.hour = 0
comps.minute = 0
comps.second = 0
let midnightOfToday = cal.date(from: comps)
//初始化并开始实时获取数据
self.pedometer.startUpdates (from: midnightOfToday!, withHandler: { pedometerData, error in
//错误处理
guard error == nil else {
print(error!)
return
}
//获取各个数据
var text = "---今日运动数据---\n"
if let numberOfSteps = pedometerData?.numberOfSteps {
text += "步数: \(numberOfSteps)\n"
}
if let distance = pedometerData?.distance {
text += "距离: \(distance)\n"
}
if let floorsAscended = pedometerData?.floorsAscended {
text += "上楼: \(floorsAscended)\n"
}
if let floorsDescended = pedometerData?.floorsDescended {
text += "下楼: \(floorsDescended)\n"
}
if #available(iOS 9.0, *) {
if let currentPace = pedometerData?.currentPace {
text += "速度: \(currentPace)m/s\n"
}
} else {
// Fallback on earlier versions
}
if #available(iOS 9.0, *) {
if let currentCadence = pedometerData?.currentCadence {
text += "速度: \(currentCadence)步/秒\n"
}
} else {
// Fallback on earlier versions
}
// 在线程中更新文本框数据
DispatchQueue.main.async {
self.myTextView.text = text
}
})
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有