Swift纯代码走进UICollectionView
Swift
对于一门新的iOS编程语言,他的崛起是必然的
我们这群老程序员们学习新的技能也是必然的
不接受新技能将被这大群体无情的淘汰
So 我欣然接受这门看似不成熟的语言
下面我们说说Swift
中比较常见的控件UICollectionView
首先我们设置一个全局的UICollectionView
和一个数据源
var colltionView : UICollectionView?
var dataArr = NSMutableArray()
然后设置UICollectionView
的3个代理UICollectionViewDelegate,UICollectionViewDataSource,UICollectionViewDelegateFlowLayout
接下来我们要做的是override func viewDidLoad()
方法中初始化一些必要的对象
override func viewDidLoad() {
super.viewDidLoad()
var layout = UICollectionViewFlowLayout()
colltionView = UICollectionView(frame: CGRectMake(0, 0, width, height), collectionViewLayout: layout)
//注册一个cell
colltionView! .registerClass(Home_Cell.self, forCellWithReuseIdentifier:"cell")
//注册一个headView
colltionView! .registerClass(Home_HeadView.self, forSupplementaryViewOfKind:UICollectionElementKindSectionHeader, withReuseIdentifier: "headView")
colltionView?.delegate = self;
colltionView?.dataSource = self;
colltionView?.backgroundColor = UIColor.whiteColor()
//设置每一个cell的宽高
layout.itemSize = CGSizeMake((width-30)/2, 250)
self.view .addSubview(colltionView!)
self .getData()
}
然后我们实现UICollectionView
的代理方法
//返回多少个组
func numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int {
return 1
}
//返回多少个cell
func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return dataArr.count
}
//返回自定义的cell
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCellWithReuseIdentifier("cell", forIndexPath: indexPath) as! Home_Cell
var model = GoodsModel()
model = dataArr[indexPath.row] as! GoodsModel
let url : NSURL = NSURL(string: model.image_url as String)!
cell.imgView!.hnk_setImageFromURL(url)
cell.layer.borderWidth = 0.3;
cell.layer.borderColor = UIColor.lightGrayColor().CGColor
cell.titleLabel!.text = model.short_name
cell.priceLabel!.text = "¥"+model.p_price
cell.readLabel!.text = "
Swift纯代码走进UICollectionView的更多相关文章
- iOS开发 纯代码创建UICollectionView
转:http://jingyan.baidu.com/article/eb9f7b6d8a81a5869364e8a6.html iOS开发 纯代码创建UICollectionView 习惯了使用xi ...
- swift 纯代码自定义控件
1.创建自定义控件 import UIKit class CustomView: UIView { var lab:UILabel! var btn:UIButton! /************ 将 ...
- Swift - 纯代码实现页面segue跳转,以及参数传递
下面通过一个例子说明如何在代码中进行segue页面的切换,以及参数的传递. 样例功能如下: 1,主界面中是一个列表(这个列表是在代码中实现) 2,点击列表项时,界面会切换到详情页面,同时传递改列表 ...
- 使用纯代码定义UICollectionView和自定义UICollectionViewCell
1.自定义UICollectionView 2.实现<UICollectionViewDataSource,UICollectionViewDelegateFlowLayout,UICollec ...
- swift 之 纯代码创建 cell
初学swift 但是网上只有很多swift用xib创建的cell,就算是有也不是我想要的.今天自己弄了一个不用xib纯代码写的,来上代码 博客地址: https://github.com/liguol ...
- iOS UICollectionView(转一) XIB+纯代码创建:cell,头脚视图 cell间距
之前用CollectionViewController只是皮毛,一些iOS从入门到精通的书上也是泛泛而谈.这几天好好的搞了搞苹果的开发文档上CollectionViewController的内容,亲身 ...
- iOS高仿app源码:纯代码打造高仿优质《内涵段子》
iOS高仿app源码:纯代码打造高仿优质<内涵段子>收藏下来 字数1950 阅读4999 评论173 喜欢133 Github 地址 https://github.com/Charlesy ...
- ios - 纯代码创建collectionView
开始考虑好一点点时间,因为一般的都是用xib,或者storyboard来写的.这次用纯代码...废话较多请看 首先把storyboard干掉,工程里面的main干掉 由于干掉了storyboard则启 ...
- 史上比较用心的纯代码实现 AutoLayout
入职有两三个月了吧,都是使用 Objective-C 纯代码(虽然有时候偷偷参杂一些 Swift 开源库)来编写公司APP,写布局的时候几乎都是要么在初始化的时候用 initWithFrame,要么就 ...
随机推荐
- sys--system-sysdba-sysoper用户区别
当Oracle 数据库安装完毕后,系统会自动创建sys和system这两个帐户.1.sys :缺省密码为CHANGE_ON_INSTALL ,且被授予DBA角色system :缺省密码为MANAGER ...
- Handler Looper 原理 详解
演示代码 public class MainActivity extends ListActivity { private TextView tv_info; private CalT ...
- Tree( 树) 组件[4]
本节课重点了解 EasyUI 中 Tree(树)组件的使用方法, 这个组件依赖于 Draggable(拖动)和 Droppable(放置)组件.一.方法列表 //部分方法onClick : funct ...
- 邮件发送 EMailHelper
引用: using System; using System.Collections.Generic; using System.Linq; using System.Net; using Syste ...
- mysql 5.6 参数详解
系统变量提供的是各种与服务器配置和功能有关的信息.大部分的系统变量都可以在服务器启动时进行设置.在运行时,每一个系统变量都拥有一个全局值或会话值,或者同时拥有这两个值.许多系统变量都是动态的,也就是说 ...
- php echo字符串的连接格式
echo "<td align=\"center\"><img src=\""; 1. \" \" 2. ...
- 一个Hadoop难以查找的错误
This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh Starting namenodes on [Master1 ...
- jQuery插件autoComplete使用
安装/需要引入的文件 <script type="text/javascript" src="../js/jquery-1.8.3.min.js.js"& ...
- Struts2学习笔记--Struts例子及开发流程
参考资料:http://blog.csdn.net/hntyzgn2010/article/details/5547753 http://chenlh.iteye.com/blog/464341 入门 ...
- GO求平均值
package main import "fmt" func main(){ sum:=0.0 avg:=0.0 xs:=" switch len(xs){ : avg= ...