用户中心页面NavigationBar自动隐藏+UIImagePickerController使用

     摘要:有很多的app在用户界面都用一个图片背景设置为页面的顶部,达到优化用户体验的效果,当用户下拉到一定程度时又显示出导航栏,上拉到一定高度又隐藏导航栏,今天自己也研究了一下,这里做一下知识点笔记。ps:在这里下载源码哦~~~

     1、采用设置导航栏背景图片为透明图片和控制UITableVIew的orgin.x的位置达到效果。

 // 设置状态栏颜色为白色
        UIApplication.sharedApplication().statusBarStyle = UIStatusBarStyle.LightContent
        
        // 去除NavigationBar底部黑线
        self.navigationController?.navigationBar.shadowImage = UIImage()
        
        //设置NavigationBar背景为透明
        self.navigationController?.navigationBar.setBackgroundImage(UIImage(named: "bg"), forBarMetrics: UIBarMetrics.Default)
        

     2、由于UITableView是UIScrollVIew的子类,监听UITableView的滑动协议。

    

// MARK: - 实现UIScrollView的代理方法
extension ViewController: UIScrollViewDelegate {
    func scrollViewDidScroll(scrollView: UIScrollView) {
        let contentOffSet: CGFloat = self.tableView.contentOffset.y
        if(contentOffSet < 72) {
                self.navigationController?.navigationBar.setBackgroundImage(UIImage(named: "bg"), forBarMetrics: UIBarMetrics.Default)
        }else {
            self.navigationController?.navigationBar.setBackgroundImage(UIImage(named: "bg4"), forBarMetrics: UIBarMetrics.Default)
        }
        
    }
}
  

    3、UIImagePickerController的使用。(ps:在此属性采用懒加载,减少内存消耗)

   

lazy var picker: UIImagePickerController = {
        let pick: UIImagePickerController = UIImagePickerController()
        pick.view.backgroundColor = UIColor.grayColor()
        pick.sourceType = UIImagePickerControllerSourceType.PhotoLibrary
        pick.delegate = self
        return pick
    }()

                                                                                                    效果图: 

                                                                  

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值