家庭作业1 - 9宫格列数变换效果

一个九宫格很简单的代码实现,不靠UICollectionView。 搞这个东西,一开始也是想这拖控件,但刚学oc开发,控件还是不熟,也时候storyboard上拖出来对的,代码实现又出问题了。丢掉控件思维,算法实现还是蛮简单的。

 1 #define IMAGEWIDTH 50 //定义图片宽度
 2 #define IMAGEHEIGHT 50 //定义图片高度
 3 .......................
 4 _itemsCount = 10 5 .......................
 6 .......................   //此处省略其他无关代码
 7 .......................
 8 
 9 - (void)imageBlock : (int)columns isAddView:(BOOL)add{
10     //定义第一张图片的起始X值,由参数columns(列数)来判断
11     float startX = (self.view.frame.size.width - IMAGEWIDTH * columns) / (columns + 1);
12     //定义起始Y值
13     float startY = 100;
14 
15     //_itemsCount定义在类的成员变量里,也可以作参数传入
16     for (int i=0;i<_itemsCount;i++){
17     //判断第 i 个元素所在的行号和列号
18         int row = i / columns;
19         int col = i % columns;
20     //计算出该行该列的X,Y起始值
21         float x = startX + col * (IMAGEWIDTH+startX);
22         float y = startY + row * (IMAGEHEIGHT+startX);
23     //如果add==YES,则动态添加图片
24         if(add){
25             [self addImage:x y:y insertToLast:NO];
26         } else {  //否则,就动态调整他们的位置
27             UIView *view = self.view.subviews[i+2];
28             view.frame = CGRectMake(x, y, IMAGEWIDTH, IMAGEHEIGHT);
29         }
30     }
31 }
32 
33 //外面可以再嵌套 [UIView beginAnimation]方法来实现动画效果

 

效果如图:

4列样式

Segmented 4columns

5列样式

Segmented 5columns

GIF

Segmented

转载于:https://www.cnblogs.com/luoge_ios/p/3542034.html

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值