scrollview技巧
一行
CGFloat buttonX = 0;
CGFloat buttonY = 25;
CGFloat buttonW = 37;
CGFloat buttonH = 60;
CGFloat margin = (self.view.width - 6 * buttonW) / 7;
for (int i = 0; i < self.countryArr.count; i++) {
YTBottomTitleButton *button = self.countryArr[i];
buttonX = margin + (buttonW + margin) * i;
button.frame = CGRectMake(buttonX, buttonY, buttonW, buttonH);
}
self.countryScrollView.contentSize = CGSizeMake(self.countryArr.count * (buttonW + margin) + margin, 0);
两行
buttonX = 0;
buttonY = 25;
buttonW = 50;
buttonH = 20;
NSInteger viewCount = 5;//一行view数量
margin = (self.view.width - viewCount * buttonW) / 6;//左右间距
CGFloat ymargin = 17;//上下间距
NSInteger pageViewCount = 0;//一页view数量
if (self.view.width > 320) {//iPhone6 or later
pageViewCount = 20;
}
else {
pageViewCount = 15;
}
for (int i = 0; i < self.platformArr.count; i++) {
YTBottomTitleButton *button = self.platformArr[i];
buttonX = margin + (i % viewCount == 0 ? 0 : (buttonW + margin) * (i % viewCount)) + (i % pageViewCount == 0 ? ZWScreenW * i / pageViewCount : ZWScreenW * (i - i % pageViewCount) / pageViewCount);
buttonY = i % viewCount == 0 ? (i % pageViewCount == 0 ? ymargin : ymargin + (buttonH + ymargin) * ((i % pageViewCount) / viewCount)) : buttonY;
button.frame = CGRectMake(buttonX, buttonY, buttonW, buttonH);
}
NSInteger offset = self.platformArr.count > pageViewCount ? (self.platformArr.count % pageViewCount == 0 ? self.platformArr.count / 20 : self.platformArr.count / pageViewCount + 1) : 0;
self.platformScrollView.contentSize = CGSizeMake(offset * ZWScreenW, 0);
scrollview技巧的更多相关文章
- Android在开发中的使用技巧之解决ScrollView嵌套RecyclerView出现的系列问题
根据已上线的app里总结出来的实用小技巧 相信大家都遇到过ScrollView嵌套RecyclerView或者RecyclerView嵌套RecyclerView来使用, 也会遇到一堆奇奇怪怪的问题, ...
- Android实战技巧:如何在ScrollView中嵌套ListView
前几天因为项目的需要,要在一个ListView中放入另一个ListView,也即在一个ListView的每个ListItem中放入另外一个ListView.但刚开始的时候,会发现放入的小ListVie ...
- Cocos2dx 小技巧(十四)ScrollView实现缩放效果
这阶段心绪比較乱,所以这篇开头就不扯淡了.(谁说大姨夫来了我跟谁急!~~)说到大姨夫我突然想到英雄联盟有个美女讲解叫伊芙蕾亚,她的堂弟ID居然叫:姨夫累呀,好笑吧(呵呵,有点冷~~额,我都说不扯淡了) ...
- Cocos2dx 小技巧(十五)话说ScrollView的delegate实现过程
附:本文參加了CSDN博客大赛.亲假设认为这篇文章不错,就大胆的来投上一票吧! !!http://vote.blog.csdn.net/Article/Details? articleid=34140 ...
- iOS:小技巧(不断更新)
记录下一些不常用技巧,以防忘记,复制用. 1.获取当前的View在Window的frame: UIWindow * window=[[[UIApplication sharedApplication] ...
- React Native之 ScrollView介绍和使用
前言 学习本系列内容需要具备一定 HTML 开发基础,没有基础的朋友可以先转至 HTML快速入门(一) 学习 本人接触 React Native 时间并不是特别长,所以对其中的内容和性质了解可能会有所 ...
- ios开发中的小技巧
在这里总结一些iOS开发中的小技巧,能大大方便我们的开发,持续更新. UITableView的Group样式下顶部空白处理 //分组列表头部空白处理 UIView *view = [[UIViewal ...
- 25条提高iOS App性能的建议和技巧
这篇文章来自iOS Tutorial Team 成员 Marcelo Fabri, 他是 Movile 的一个iOS开发者. Check out his personal website or fol ...
- iOS:小技巧(转)
记录下一些不常用技巧,以防忘记,复制用. 1.获取当前的View在Window的frame: 1 2 UIWindow * window=[[[UIApplication sharedApplicat ...
随机推荐
- Linux5.5安装10g rac
以前安装总结的,现把它贴出来,虽然10g现在慢慢越少了,但也有不少生产库跑10g的. 1.vi /etc/hosts 10.168.39.243 orcldb1 10.168.39.245 ...
- JS技术大全(防止复制,粘贴等)
1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键 <table border oncontextmenu ...
- Unity3D 事件
unity3d事件函数整理,事件,回调函数,消息处理 Unity3D中所有控制脚本的基类MonoBehaviour有一些虚函数用于绘制中事件的回调,也可以直接理解为事件函数,例如大家都很清楚的Star ...
- c++ 使用shell命令
#include <iostream> #include <stdio.h> #include <vector> #include <unistd.h> ...
- Android动态加载学习笔记(一)
前言 上周五DPAndroid小分队就第二阶段分享内容进行了讨论,结果形成了三个主题:性能优化.动态加载.内核远离.我选择的是第二项——动态加载.在目前的Android开发中,这一部分知识还是比较流行 ...
- mysql分组函数
组函数针对的是指定字段的非空值.注意:where子句中不能出现组函数!!! avg() 平均值(只能针对数值型 ) max() 最大值(不限制类型) min() 最小值(不限制类型) ...
- virtualbox桥接网络配置--CentOS
系统安装好后如下图设置virtualbox虚拟机的网络连接方式 然后启动虚拟机 ifconfig发现如下图 vi /etc/sysconfig/network-scripts/ifcfg-eth0 根 ...
- python download
今天下载 python3 , 从官网下 速度 平均 十几K,网上 搜了下.提供的下载地址 几乎都是 官网的. 于是 下了个 百度同步盘,做 公开分享. 提供给 大家下载,速度 有 300 多K,提高了 ...
- 《疯狂Java讲义》(二)---- Java程序的运行机制和JVM
1. 运行机制 Java源文件(*.java)-----使用javac编译----编译成*.class文件----使用java解释执行----特定平台的机器码 2. 原理 负责解释执行字节码文件的就是 ...
- 后台数据库读取Html值 到前台显示不了样式
@Html.Raw(FieldValue) 像一些Html代码 传到前台编译不了,直接显示出来 FieldValue 是后台传过来的值 viewBag