swift项目-模仿团购(主界面的搭建,以及首页的一些细节)

 

以前学习oc的时候写的一个团购的项目,现在学习swift,拿来用swift写一遍,也是连猜带蒙的,一点一点的往上凑。

今天主要是把主要的架子搭起来了。

主要有:UITabBarController,UINavigationController,还有navigationItem(这家伙给我搁着坑着了,那个寻思着做出这个效果呢,结果效果出来了,中间的titleview不居中了)

在导航控制器里核心代码:

 //初始化所有子视图控制器

    func setAllChildVC(){

        tabbarAddChindVC(ShouYeTableViewController(), title: "首页", imageName: "设置_16.png", selectedImageName: "设置_16.png")

        

        tabbarAddChindVC(TuanGouTableViewController(), title: "团购", imageName: "设置_18.png", selectedImageName: "设置_18.png")

        

        tabbarAddChindVC(FuJinViewController(), title: "附近", imageName: "首页_03.png", selectedImageName: "首页_03.png")

        

        

    }

    

    //将以vc作为跟视图的导航控制器,作为UITabBarController的子控制器

    func tabbarAddChindVC(vc:UIViewController, title:String,imageName:String,selectedImageName:String){

        

        vc.tabBarItem = UITabBarItem(title: title, image: UIImage(named: imageName), selectedImage: UIImage(named: selectedImageName))

        let nav2 = MainNavigationController(rootViewController: vc)

        

        addChildViewController(nav2)

        

    }

 关于导航栏颜色以及字号的设置:

 self.navigationBar.barTintColor = UIColor.orangeColor()

        let navigationTitleAttribute : NSDictionary = NSDictionary(objectsAndKeys: UIColor.blackColor(),NSForegroundColorAttributeName)

        self.navigationBar.titleTextAttributes = navigationTitleAttribute as [NSObject : AnyObject]

 

在首页,主要是一个头视图(而不是分区头,分区头仔设置的时候,需要设置其高度),使用了一个自定义的view,进行按钮的添加,在其xib文件中(这个文件,在创建view的时候,是不让勾选的,只能后来单创建,或者别的什么方法吧,一定要注意根代码关联上,并且在加载的时候,采用

        let header = NSBundle.mainBundle().loadNibNamed("headView", owner: self, options: nil).last as! headView

        self.tableView.tableHeaderView = header

 来进行该视图的加载

至于,当点击视图上的按钮的时候,需要将所点击的按钮的事件传给控制器来处理,这个用到了代理(闭包不会用啊,代理还用不好,,不开心)

 

view中:

import UIKit

protocol headViewDelegate:class{//代表这个代理只能被一个类实现

    func clickedAtNum(clicked: Int)

    

class headView: UIView {

     weak  var delegate: headViewDelegate?

    

    @IBAction func headClick(sender: UIButton) {

      var clickTag = delegate?.clickedAtNum(sender.tag)

    }

    

}

 

控制器中就是简单的遵守协议,实现方法,将自己设置成代理方就行了

 

转载于:https://www.cnblogs.com/mudy/p/4836891.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值