加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

(十)swift UICollectionViewController常用操作(swift 九宫格)

发布时间:2020-12-14 01:35:22 所属栏目:百科 来源:网络整理
导读:Demo 说明:九宫格 软件环境:编译器:XCode 7.1.1 1、 新建 XCode “Single View Application” 项目 填入Product Name:“MyCollection”,Next - 选择路径,保存。 2、 删除所有视图,新建UICollectionViewController 单击打开Main.storyboard,删除所有视

Demo 说明:九宫格
软件环境:编译器:XCode 7.1.1

1、 新建 XCode “Single View Application” 项目

填入Product Name:“MyCollection”,Next -> 选择路径,保存。

2、 删除所有视图,新建UICollectionViewController

单击打开Main.storyboard,删除所有视图,同时视图加入UICollectionViewController 选择下图中的九格图标,拖拽入Main.storyboard

视图板结果如下:

3、 修改Title和默认视图选项

单击 ,或单击 。
右侧选择“属性选择器” ,Title 填入“home”,勾选“Is Initial View Controller”

4、 新建“Cocoa Touch Class”,绑定视图

新建Cocoa Touch Class

继承自 UICollectionViewController

绑定视图:选择新建的类”CollectionViewController”
点击:
,选择身份识别器

更改Class 为“CollectionViewController”

绑定视图:选择新建的类”CollectionViewController”

5、 调整“CollectionViewController.swift”代码,显示九宫格

修改函数numberOfSectionsInCollectionView:设置返回值为1(视图个数),

代码如下:
numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int {

return 1

}

修改函数 collectionView(collectionView: UICollectionView,numberOfItemsInSection section: Int) -> Int:设置cell个数 为9
代码如下:
override func collectionView(collectionView: UICollectionView,numberOfItemsInSection section: Int) -> Int {

return 9

}

修改函数func collectionView(collectionView: UICollectionView,cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell
代码如下:

var i = 1;
override func collectionView(collectionView: UICollectionView,cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {

let cell = collectionView.dequeueReusableCellWithReuseIdentifier(reuseIdentifier,forIndexPath: indexPath)

let _frame = CGRect(x:0,y:0,width:100,height:40)
let nil_label = UILabel(frame: _frame)
nil_label.tag = 1;
nil_label.text = “Hello” + String(i++);
cell.contentView.addSubview(nil_label)

return cell

}

启动模拟器运行,模拟器结果如下:

判断结果每一个cell 小于标准九宫格要求。

6、 通过代码调整九宫格大小

新增代码如下:
func collectionView(collectionView: UICollectionView,layout collectionViewLayout: UICollectionViewLayout,sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize
{
let frame = self.view.frame;
var width = frame.width
width = CGFloat(Int(width/3)-10)
return CGSize(width: width,height: width)
}

运行模拟器,结果如下:

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读