经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 移动开发 » iOS » 查看文章
iOS-for循环快捷创建按钮(随意配置适配)
来源:cnblogs  作者:macro小K  时间:2020/12/14 17:18:46  对本文有异议

One

先总结下最近做项目遇到的一个小问题,创建UIView时,总是有一边会出现一条灰黑线,原因竟是在给view设置frame时的精确度问题,取整下即可;

  1. ceilf(width)

Two

最近在项目里帮朋友简单写了一下这个需求,记录下以后用到方便配置,项目中的我可以放心删了;

  1. #define demoScale CGRectGetWidth([[UIScreen mainScreen] bounds])/375.0
  1. - (void)forDemo{
  2. UIView *contentView = self.view;
  3. ///按钮总个数
  4. NSInteger allCount = 16;
  5. ///按钮每行总个数
  6. NSInteger elCount = 5;
  7. ///左右边距
  8. CGFloat marginLR = 25*demoScale;
  9. ///上下边距
  10. CGFloat marginTD = 10*demoScale;
  11. ///button左右之间的间隔(item间距)
  12. CGFloat lineSpace = 30*demoScale;
  13. ///button上下之间的间隔(行间距)
  14. CGFloat columnSpace = 20*demoScale;
  15. ///button宽
  16. CGFloat btnWidth = (CGRectGetWidth(contentView.bounds) - marginLR*2 - lineSpace*(elCount-1))/elCount;
  17. ///button高
  18. CGFloat btnHeight = 50*demoScale;
  19. for (int i = 0; i < allCount; i ++) {
  20. CGFloat btnX = marginLR + (i%elCount)*(btnWidth + lineSpace);
  21. CGFloat btnY = marginTD + (i/elCount)*(btnHeight + columnSpace);
  22. NSLog(@"%f,%f",btnX,btnY);
  23. UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
  24. button.backgroundColor = [UIColor redColor];
  25. button.frame = CGRectMake(btnX , btnY, btnWidth, btnHeight);
  26. [contentView addSubview:button];
  27. }
  28. NSInteger columnNumber = (allCount/elCount);
  29. CGFloat contentViewHeiht = marginTD*2 + columnSpace*(columnNumber-1) + columnNumber*btnHeight;
  30. }

 

原文链接:http://www.cnblogs.com/wangkejia/p/14116297.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号