分页视图

1、tableView也是滚动视图1> 禁用点击状态栏回到表格视图的顶部

self.tableView.scrollsToTop = false

2> 设置滑动时隐藏导航栏    

    self.navigationController?.hidesBarsOnSwipe = true 

3>工厂设计模式:使用类方法将一些基础的UI控件的属性总结归纳起来,方便统一修改 类方法实质上-->是在实例方法前加上static或者class关键字example: 

static func createButtonWith(frame: CGRect,type: UIButtonType,title: String,titleColor: UIColor,imageName: String,target: AnyObject?,action: Selector,backgroundImageName: String) ->UIButton {                let button = UIButton(type: type)        button.frame = frame        button.setTitle(title, forState: UIControlState.Normal)        button.setTitleColor(titleColor, forState: UIControlState.Normal)  

 4>设置图片     

  button.setImage(UIImage(named: imageName), forState: UIControlState.Normal)        

5>设置背景图片      

button.setBackgroundImage(UIImage(named: backgroundImageName), forState: UIControlState.Normal)     

6>添加响应事件       

button.addTarget(target, action: action, forControlEvents: UIControlEvents.TouchUpInside)   

7> 修改状态栏的颜色,需要结合修改plist文件来做,这种方式适合全局修改状态栏的颜色

UIApplication.sharedApplication().statusBarStyle = UIStatusBarStyle.LightContent

LightContent白色  

8> 修改plist文件中:

View controller-based status bar appearance

9>设置导航不透明      

  self.navigationController?.navigationBar.translucent = false

tabBarItem有两个属性  Image  和selectedImage  

10>  设置选中时标题的颜色《TabBarItem》

UITabBarItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.xxxx], forState: .(枚举值))

实现界面搭建:1.创建UI,2.请求数据.3.返回去刷新UI数据请求步骤:1、创建请求管理类

 let manager = AFHTTPSessionManager()      

  2、直接使用get请求方式    

          manager.GET("http://open4.bantangapp.com/recommend/index?client_id=bt_app_android&client_secret=ffcda7a1c4ff338e05c42e7972ba7b8d&page=\(self.page)&pagesize=20", parameters: nil, success: { (dataTask: NSURLSessionDataTask?, responseObject: AnyObject?) -> Void in                

3、解析数据      

let dic = responseObject?.objectForKey("data")            let array = dic?.objectForKey("topic")       

注意:利用KVC来进行属性赋值(字典转模型model)   

   for i in 0..间单来说就是方便快捷

取消多余的线条


self.tableView.tableFooterView = UIView()

Carousel通过封装好的代码,实现广告轮播:


self.cyclePlaying = Carousel(frame: CGRectMake(0,0,screenWidth,screenHeight / 3))

1、设置是否需要pageControl

self.cyclePlaying.needPageControl = true

2、设置是否需要无限轮播

self.cyclePlaying.infiniteLoop = true

3、设置pageControl的位置

self.cyclePlaying.pageControlPositionType = PAGE_CONTROL_POSITION_TYPE_MIDDLE

4、设置图片数组,使用本地图片

self.cyclePlaying.imageArray = ["shili8","shili2","shili10","shili13","shili24"]

Carousel简介:通用轮播控件,

* 1.内嵌了pageControl,可以用needPageControl是否显示,默认显示(图片个数大于1);

* 2.支持图片数组与图片地址数组,采用sdwebImage库做图片的下载与缓存;

* 3.支持轮播自播放的暂停与开始;

* 4.只支持横向轮播;

* 5.要使用该控件,必须在工程中添加对sdwebImage的引用,切记!!!

设计基本思路:

* 轮播模式a:collectionview有无限个item,每次item显示的时候都去取对应正确的索引图片。

* 轮播模式b:collectionview的item个数为实际图片的个数。图片初始化后在整个scrollView上的显示情况为item0(pic5)、item1(pic0)、item2(pic1)、

*          item3(pic2)、item4(pic3)、item5(pic4)。这么显示的原因是:在初始化图片后,会让collectionview滚动到item1的位置上,这样左滑就可以滑

*          动到最后一张图片了,右滑也可以滑动到第二张图片。轮播的规则: 右滑--当collectionview从item1 滚动到item2的位置后,这个时候做一个无动画

*          滚动,让位置继续滚回到item1,然后下次右滑的时候依然按照这个流程走,这样就可以保证在从最后一张滑动到第一张的时候,滚动动画的正常。左滑同右

*          滑,只是方向变换一下。

* 1.当图片个数为1的时候,不能自动轮播

* 2.当图片个数为2的时候,采用轮播模式a。

* 3.当图片个数大于2张的时候,采用轮播模式b

注册cell,UINib来注册自定义的xib,nibName是自定义的类名


let nib = UINib(nibName: "HomeCell", bundle: nil)

self.tableView.registerNib(nib, forCellReuseIdentifier: "homeCell")

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、需求: 前段时间,产品经理给项目改了个需求: 之前的视图展示是简单的竖直方向上的瀑布流效果,后面要改成水平滑动...
    Ccc2020阅读 14,488评论 9 17
  • 1.oc基本语法 // // main.m // oc基本语法 // // Created by lanou on...
    GOT_HODOR阅读 455评论 0 0
  • 单源文件 gcc -o hello hello.c 多源文件gcc -o sum main.c function....
    Silly_N_Fool阅读 893评论 0 1
  • 有些故事 好像还没有开始就结束了 时间过的那么快 我连你的模样都要忘记了呢 还记得当初见到你 一身校服 大红色的卫...
    萌的星期六阅读 148评论 0 1
  • 臭氧和青铜,掘开樱花的墓 猫头鹰和盲犬,睥睨着诗人的愤怒 咒语在魔音里长生,酿着历史的排泄物 象形文字流着仓颉的血...
    心灵一味阅读 148评论 1 0