UICollectionView Demo书架式布局示例

UICollectionView 的书架式布局,做得还挺有模样的。项目结构清晰,代码注释也比较到位,拿来二次开发方便。你要是正好在做横向滑动或者瀑布流那类界面,可以直接上手试试这个 Demo,响应也快,交互还挺顺。安装流程也不复杂,基本几步就能跑起来。

UICollectionView 的各种花式布局效果,这个 Demo 都演了一遍。尤其是UICollectionViewFlowLayout的使用,写得比较清楚。看代码的时候,你会发现作者在cellForItemAt里做了不少细节优化,滚动不卡,体验还不错。

如果你之前没怎么动过 UICollectionView,建议先看下UIcollectionView 快速入门》,有个大致的感觉后再来看 Demo,会更顺手。要想做成 App Store 首页那种布局?参考下这个《UICollectionview 实现瀑布流》也蛮有的。

项目使用方法也简单,clone下来,pod install走一波,跑起来基本没坑。你要贡献代码也挺方便的,按规范提个Pull Request就行。分支命名建议用Feat_模块名,这样看起来清晰些。

还有个提醒,UICollectionView本身不复杂,难的是样式细节和复用优化。你多关注下cell复用和reloadData的触发逻辑,项目在这块也做得还行。

如果你在开发过程中卡住了,不妨看看这个使用 UICollectionView 管理视图和实现动画》,不少技巧值得学一学。,这个 Demo 挺适合收藏的,改改就能直接上项目。

zip
UICollectionViewDemo.zip 预估大小:95个文件
folder
UICollectionViewDemo 文件夹
folder
.git 文件夹
folder
info 文件夹
file
exclude 240B
folder
objects 文件夹
folder
pack 文件夹
folder
69 文件夹
file
05cc67bbf738499f2accb4b56f5f1ddc8ce444 506B
folder
info 文件夹
folder
86 文件夹
file
4b1558a620d7ce6ac05c23667b6633ffe6a7aa 247B
folder
78 文件夹
file
8b14beef56b7fab1364e62f0661d28474cfa7b 345B
folder
cb 文件夹
file
2ed5d217855fddfa937daa07379157f4da0208 131B
folder
7f 文件夹
file
23d4f5209b0275048b039c384f38742bea3921 764B
folder
22 文件夹
file
27c76811ecff12fa29ada54689fbabda5ba2c3 176B
folder
ec 文件夹
file
0bc3c68d19bfcf67d3f3dd05e870be60edec84 109B
folder
b2 文件夹
file
b50805b5b0cb4f6f1964d772b6584f29ea1cce 67B
folder
63 文件夹
file
9cc0d246ea44104d8bd3d8a8342f4674908f1a 497B
folder
a3 文件夹
file
90bfbf4800965a6a97bc8dab34c732f1eeb0da 72B
folder
71 文件夹
file
0f8014bbea618decfbb39c6a79b470ac227dfa 136B
folder
a5 文件夹
file
0436fc068ad07a53e97fd92952b62463e77348 258B
folder
53 文件夹
file
4be439c06ab32fa67547e1377947cbffbad3a7 110B
folder
ba 文件夹
file
72822e8728ef2951005e49b6c27a2f1da6572d 353B
folder
ea 文件夹
file
7ca6ec9ecb30842756e6a2ed85899b9b878448 51B
file
b616f0e8f4487791d50e620e6df67037c621da 57B
folder
4e 文件夹
file
8aacb23224aa89988d302f5a4c45d8f73ef13e 565B
folder
38 文件夹
file
b96de9c1c470dc5c093a994c97254c80321d4b 914B
folder
af 文件夹
file
24e6cdd109d007d825e9cd4bf9463945ff341f 159B
folder
95 文件夹
file
165c652020f37fb9c320051f5973a8f7262389 63B
file
bf7f42b7757b3076a7d2f5afc476488f6613e0 59B
folder
6d 文件夹
file
fc811a6588efe7d75c8d65cc8acd1afa0eb1c5 799B
folder
f7 文件夹
file
22268f9984c7bf39a5a224ea4f62d7a40015fb 14KB
folder
c4 文件夹
file
3cc9b8ba4e4ae5c6df5ed5e3f199668b7fead0 68B
folder
9b 文件夹
file
18dd3062a7b32f8ae43fba0058574880dc4068 266B
folder
cd 文件夹
file
4f4cd7bb5dc2bf037be283a0c572f2048ca1d6 204B
folder
72 文件夹
file
0fad9863f4b4a9223bd978a5750a56e20554f8 1KB
folder
89 文件夹
file
c1508d9b07b204a186472bd317a3919bbbe62b 107B
folder
97 文件夹
file
e7d260c47d3091a1f0a1815e46bdb108000988 638B
folder
0e 文件夹
file
c15f2fb31c22c2eaec653945df4cde6df0b4a2 135B
folder
7e 文件夹
file
401a352adbb64428e545c4be9454e52c2c69c0 258B
folder
91 文件夹
file
9434a6254f0e9651f402737811be6634a03e9c 117B
folder
4b 文件夹
file
61df89f8565ea01bf4ca8417dfb932847a1955 63B
folder
18 文件夹
file
d981003d68d0546c4804ac2ff47dd97c6e7921 206B
folder
d5 文件夹
file
ea236eb47e377e28507331404737d0f16cf548 175B
folder
11 文件夹
file
8c98f7461bf98b2bc7e061150d8021121ad277 161B
folder
59 文件夹
file
92e5daf13fde3baa5bcaa839a7f80a6a71575c 4KB
folder
a0 文件夹
file
4018cad0b068dfb9ee92c70ef30867ba12d047 2KB
folder
81 文件夹
file
478eb8d0aa44e68efced23c2c566949c380f92 94B
folder
f0 文件夹
file
9d98dde9597de75ffcdb237c2b580b8fffa3f9 89B
folder
65 文件夹
file
9095c56baa462f7d3c9b3039ea24a814cc597b 461B
folder
be 文件夹
file
d63a0e597e08224bda4e93d5951557ef15cbb7 228B
folder
56 文件夹
file
91f58dab111ff5006160375364b5f550fcc4bc 106B
folder
43 文件夹
file
0d705bb4423cbccb7a4992a49628146aec42d4 217B
folder
8d 文件夹
file
3745a6371b868b92ad068266ebd4ac84d17c00 87B
folder
98 文件夹
file
d0aab76bbfa0e2a7c5a2c675fde9d7fba80d59 377B
file
HEAD 23B
file
description 73B
file
packed-refs 107B
folder
branches 文件夹
file
config 325B
file
index 3KB
folder
refs 文件夹
folder
tags 文件夹
folder
remotes 文件夹
folder
origin 文件夹
file
HEAD 32B
folder
heads 文件夹
file
master 41B
folder
hooks 文件夹
file
commit-msg.sample 896B
file
pre-receive.sample 544B
file
pre-rebase.sample 5KB
file
prepare-commit-msg.sample 1KB
file
update.sample 4KB
file
pre-push.sample 1KB
file
pre-commit.sample 2KB
file
post-update.sample 189B
file
applypatch-msg.sample 478B
file
pre-applypatch.sample 424B
file
FETCH_HEAD 117B
folder
logs 文件夹
file
HEAD 196B
folder
refs 文件夹
folder
remotes 文件夹
folder
origin 文件夹
file
HEAD 196B
folder
heads 文件夹
file
master 196B
folder
UICollectionViewDemo1Tests 文件夹
file
UICollectionViewDemo1Tests.m 943B
file
Info.plist 733B
folder
.gitee 文件夹
file
ISSUE_TEMPLATE.zh-CN.md 79B
file
PULL_REQUEST_TEMPLATE.zh-CN.md 105B
file
.DS_Store 6KB
file
README.md 924B
folder
UICollectionViewDemo1 文件夹
file
main.m 336B
file
ViewController.m 6KB
file
AppDelegate.h 279B
file
CollectionViewCell.h 284B
file
CollectionViewCell.m 269B
file
Info.plist 1KB
file
AppDelegate.m 2KB
file
CollectionViewCell.xib 3KB
file
ViewController.h 217B
folder
Base.lproj 文件夹
file
LaunchScreen.storyboard 2KB
file
Main.storyboard 951B
folder
Assets.xcassets 文件夹
folder
AppIcon.appiconset 文件夹
file
Contents.json 585B
folder
UICollectionViewDemo1UITests 文件夹
file
Info.plist 733B
file
UICollectionViewDemo1UITests.m 1KB
folder
UICollectionViewDemo1.xcodeproj 文件夹
folder
project.xcworkspace 文件夹
folder
xcshareddata 文件夹
file
IDEWorkspaceChecks.plist 238B
file
contents.xcworkspacedata 135B
folder
xcuserdata 文件夹
folder
qiyun.xcuserdatad 文件夹
file
UserInterfaceState.xcuserstate 21KB
folder
yangtaotao.xcuserdatad 文件夹
file
UserInterfaceState.xcuserstate 23KB
file
project.pbxproj 22KB
folder
xcuserdata 文件夹
folder
qiyun.xcuserdatad 文件夹
folder
xcschemes 文件夹
file
xcschememanagement.plist 344B
folder
yangtaotao.xcuserdatad 文件夹
folder
xcschemes 文件夹
file
xcschememanagement.plist 344B
...
zip 文件大小:120.51KB