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

时间:2021-11-18 13:03:47

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

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

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

主要有:UITabBarController,UINavigationController,还有navigationItem(这家伙给我搁着坑着了,那个swift项目-模仿团购(主界面的搭建,以及首页的一些细节)寻思着做出这个效果呢,结果效果出来了,中间的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)

}

}

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