一行

    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技巧的更多相关文章

  1. Android在开发中的使用技巧之解决ScrollView嵌套RecyclerView出现的系列问题

    根据已上线的app里总结出来的实用小技巧 相信大家都遇到过ScrollView嵌套RecyclerView或者RecyclerView嵌套RecyclerView来使用, 也会遇到一堆奇奇怪怪的问题, ...

  2. Android实战技巧:如何在ScrollView中嵌套ListView

    前几天因为项目的需要,要在一个ListView中放入另一个ListView,也即在一个ListView的每个ListItem中放入另外一个ListView.但刚开始的时候,会发现放入的小ListVie ...

  3. Cocos2dx 小技巧(十四)ScrollView实现缩放效果

    这阶段心绪比較乱,所以这篇开头就不扯淡了.(谁说大姨夫来了我跟谁急!~~)说到大姨夫我突然想到英雄联盟有个美女讲解叫伊芙蕾亚,她的堂弟ID居然叫:姨夫累呀,好笑吧(呵呵,有点冷~~额,我都说不扯淡了) ...

  4. Cocos2dx 小技巧(十五)话说ScrollView的delegate实现过程

    附:本文參加了CSDN博客大赛.亲假设认为这篇文章不错,就大胆的来投上一票吧! !!http://vote.blog.csdn.net/Article/Details? articleid=34140 ...

  5. iOS:小技巧(不断更新)

    记录下一些不常用技巧,以防忘记,复制用. 1.获取当前的View在Window的frame: UIWindow * window=[[[UIApplication sharedApplication] ...

  6. React Native之 ScrollView介绍和使用

    前言 学习本系列内容需要具备一定 HTML 开发基础,没有基础的朋友可以先转至 HTML快速入门(一) 学习 本人接触 React Native 时间并不是特别长,所以对其中的内容和性质了解可能会有所 ...

  7. ios开发中的小技巧

    在这里总结一些iOS开发中的小技巧,能大大方便我们的开发,持续更新. UITableView的Group样式下顶部空白处理 //分组列表头部空白处理 UIView *view = [[UIViewal ...

  8. 25条提高iOS App性能的建议和技巧

    这篇文章来自iOS Tutorial Team 成员 Marcelo Fabri, 他是 Movile 的一个iOS开发者. Check out his personal website or fol ...

  9. iOS:小技巧(转)

    记录下一些不常用技巧,以防忘记,复制用. 1.获取当前的View在Window的frame: 1 2 UIWindow * window=[[[UIApplication sharedApplicat ...

随机推荐

  1. App开放接口api安全性的设计与实现

    前言 在app开放接口api的设计中,避免不了的就是安全性问题,因为大多数接口涉及到用户的个人信息以及一些敏感的数据,所以对这些接口需要进行身份的认证, 那么这就需要用户提供一些信息,比如用户名密码等 ...

  2. Sorry, but the Android VPN API doesn’t currently allow TAP-based tunnels.

    Sorry, but the Android VPN API doesn’t currently allow TAP-based tunnels. Edit .ovpn configfile “dev ...

  3. centos7 下修改时区

    #timedatectl status //显示当前设置 #timedatectl list-timezones //列出时区 #timedatectl set-timezone Asia/Shang ...

  4. Raspberry pi(-) Mac下安装系统

    购买树莓派一般的操作说明书都是windows下的,因为本人只有MBP,外加虚拟机Parallels Desktop无法识别SD卡,所以就直接参考Mac教程了. 1.系统镜像官网下载 推荐用Raspbi ...

  5. select问题总结

    select 从后台取来的值如何放到select里面的文本框中? $(".type option").each(function(){ if($(this).val() == de ...

  6. SQL Server 2012日志文件误删除数据库质疑后的相关恢复

    alter database testdb set emergencyalter database testdb set single_userdbcc checkdb('testdb',REPAIR ...

  7. html&css基础知识

    ***定义字符编码:一般为UTF-8(年国际通用编码) ***响应式界面:可以智能地根据用户行为以及使用的设备环境(系统平台.屏幕尺寸.屏幕定向等)进行相对应的布局,可以兼容多个终端. 在websto ...

  8. Action向前台输出

    import java.io.IOException;import java.io.PrintWriter; import javax.servlet.http.HttpServletResponse ...

  9. C语言指针变量作为函数参数

    0x01 指针变量作为函数参数的作用是:将一个变量的地址传送到另一个函数中. 0x02 简单的例子:虽然都能实现功能,但意义不同. 正确的写法: #include <stdio.h> vo ...

  10. java学习第20天(IO流)

    构造方法File file = new File("e:\\demo"); 创建文件夹 File file = new File("e:\\demo"); fi ...