IT技术博客大学习 共学习 共进步
首页 / JohnLui
IT 2016-03-15 23:31:20 / 累计浏览 2,700

iOS可视化编程 Tips 之“消灭重复又无聊的代码之 UITableView 篇”

这篇讲的是如何利用Storyboard的可视化特性,去掉iOS开发中一些重复又琐碎的UITableView编码工作。作者从两个高频场景切入:一是在非UITableViewController里,手动添加UITableView后那两行必须写的代理设置代码(delegate和dataSource),其实可以通过在Storyboard中连线直接省掉,让代码更干净。二是处理“数据不足时隐藏空白行”这个需求,作者指出了常见的tableFooterView = UIView()写法可能引发刷新浪费和崩溃的隐患,并提出了一个更稳健的可视化方案:直接在Storyboard里为表格放一个占位cell和一个同级空view。通过调整空view的高度,不仅能达到隐藏效果,还能灵活控制底部边框的显示与否,甚至可以用于实现表格底部固定视图这种特殊UI,避免了许多额外编码。本质上,这是在用Xcode的界面工具代替手写样板代码,让开发更直观健壮。

IT 2016-03-15 23:28:22 / 累计浏览 3,320

iOS下自己动手造无限循环图片轮播

这篇讲的是如何用Swift从零搭建一个类似支付宝首页的无限循环图片轮播组件。作者从界面搭建入手,详细演示了如何使用`UIScrollView`配合`UIPageControl`,并利用Auto Layout完成基础布局。 实现无限轮播的核心思路非常巧妙:在真实图片序列的首尾各拼接一张额外的图片。当用户滑动到最前或最后这张“辅助图”时,代码会在`scrollViewDidScroll`代理方法中,悄无声息地将`contentOffset`重置回真实图片序列的起始位置,从而在视觉上创造出可以一直朝一个方向滑动的错觉。文章也具体展示了如何通过计算滑动偏移量来同步更新底部小圆点的指示位置,并解决了由此带来的小圆点错位问题。 文章最后附有完整的代码示例和最终效果GIF,思路清晰,步骤具体,对于想要理解滚动视图高级用法或实现自定义轮播组件的iOS开发者来说,是一份非常实用的实战指南。

IT 2016-03-15 22:42:50 / 累计浏览 3,440

iOS可视化编程 Tips 之“无需代码设置圆角”

这篇介绍的是iOS开发中的一个实用技巧:通过Xcode的User Defined Runtime Attributes来设置视图圆角,无需编写任何代码。 传统上,开发者可能在代码中设置layer.cornerRadius属性来添加圆角,这需要额外的代码编写和编译过程。而作者从提升开发效率的角度出发,展示了如何在Interface Builder中直接操作:在属性检查器

IT 2016-03-15 22:40:04 / 累计浏览 2,340

翻译篇:10 Things You Need to Know About Cocoa Auto Layout

这篇译文源自Ole Begemann 2013年的博客,讲的是开发者第一次接触Cocoa Auto Layout时,如何快速掌握核心思维。作者开篇就点明,Auto Layout和传统的springs-struts模式差异很大,但别被复杂度吓倒——其实只需理解几条关键规则就能上手。 文章梳理了十条必备知识。它首先澄清通用概念:一个视图在每个方向上至少需要两个约束来明确定位,并善用控件的“固有大小”来减少约束数量。随后,文章深入分析了Interface Builder(IB)在Auto Layout下的行为逻辑,比如IB为何会“阻止”你删除某些约束(因为会导致布局模糊),以及如何正确添加新约束。这些内容虽然针对Xcode 4.x,但IB的核心设计理念依然有参考价值。最后,文章转向代码实践,强调在代码中使用Auto Layout时必须“忘记frame”、手动禁用Autoresizing Masks,并通过约束动画而非直接修改frame来实现界面动效。 尽管部分IB操作细节已更新,但文章对Auto Layout底层逻辑的剖析——从约束的完备性、固有大小的作用,到IB与代码开发思路的转换——至今仍是理解这套系统的坚实起点。