第一记— Swift版百思不得姐

之前就说准备用Swift写一个项目练练手,于是就写了一个Swift版的百思不得姐,目前只完成了精华模块的功能,但是后续我会将所有的功能写完,也会记录每个细节及知识点

效果图:



接下来就一起分析这个项目,并实现了

1:整体架构一看,又是在玩TabBar,然后这个咋一看必须得自己搞一个,不然用系统的实现不了

关键代码:替换系统的

 
        /**
        * 处理TabBar 替换成自定义的
        */
        self.setValue(XYTabBar(), forKeyPath: "tabBar")

然后就是在XYTabBar(UITabBar)这个类中添加中间那个大按钮 ,重新布局,

2:分析单独的精华模块,一个整体控制器(精华控制器),五个按钮,每个按钮对应一个单独子控制器,每个单独子控制器可以上下左右滚动,所以精华控制器中的UIScrollView就包含单独子控制器的TableView,

添加五个子控制器:

  ChildVc(XYAllTableViewController(), title: "全部")
        ChildVc(XYVoideTabController(), title: "视频")
        ChildVc(XYVoiceTabController(), title: "声音")
        ChildVc(XYImageTabController(), title: "图片")
        ChildVc(XYtextTabController(), title: "段子")
<pre name="code" class="objc">func ChildVc(tabVc: UITableViewController, title: String){
        tabVc.title = title;
        addChildViewController(tabVc)
        
    }

 


3:添加标签栏的五个按钮

点击按钮时,滚动到对应的子控制器,也就是对应的界面

关键代码:

   // 让scrollView滚动到对应的位置
        var offset = self.scrollView.contentOffset;
        offset.x = self.view.width * CGFloat(self.titleButtons.indexOfObject(titlebut))
        self.scrollView.setContentOffset(offset, animated: true)

4:创建UIScrollView,实现代理方法

在代理方法中将子控制器的tableView添加到ScrollView中,

现在就大致完成了这个骨架,接下来就不需要在精华控制器中写代码了,在相应的子控制器中添加对应数据

今天就分析到这

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值