暑期项目开发实训 Day21

来源:互联网 发布:欧莱雅淘宝旗舰店 编辑:程序博客网 时间:2024/06/05 22:19

周日

解决唤出日历的方法:

在第一次使用日历模式时,撤销键盘(resignFirstResponder)

然后让navigationbar和dataPicker显示(切换回文字模式则隐藏)

    // 日历模式    @IBAction func CalModel() {        AddState.setImage(UIImage(named:"add_normal"),for: UIControlState.highlighted)        AddState.setImage(UIImage(named:"add_normal"),for: UIControlState.normal)        CalState.setImage(UIImage(named:"deadline_highlighted"),for: UIControlState.highlighted)        CalState.setImage(UIImage(named:"deadline_highlighted"),for: UIControlState.normal)                textField.resignFirstResponder()  //撤销键盘                dueDateNavigationBar.isHidden = false   //唤出日历Bar        dueDateNavigationBar.frame =  CGRect(x:0, y:411, width:375, height:40)        datePicker.isHidden = false;  //唤出日历        self.view.addSubview(datePicker)        datePicker.frame = CGRect(x:0, y:451, width:375, height:200)                datePicker.setDate(dueDate, animated: false)                updateDueDate() //更新bar上的date    }


解决datePicker和tableView重叠的方法:

datePicker的高度是216,iphone7的高度是667,就让其从451开始,tableView至451结束(偷懒的做法)

因为451以下的tableView区域是无意义的,文字模式和日历模式都会遮挡451以下的区域。

datePicker.isHidden = false;  //唤出日历        self.view.addSubview(datePicker)        datePicker.frame = CGRect(x:0, y:451, width:375, height:200)

解决日历带Bar的问题:

一开始尝试用Label+2个button内嵌成view,后来发现并不好用

直接用navigation bar + 2个 baritem即可。

原创粉丝点击