└── README.md /README.md: -------------------------------------------------------------------------------- 1 | # FuckingSwiftUI 2 | 提供SwiftUI中文教程,包含进阶内容 3 | 4 | ## 布局 5 | 6 | [SwiftUI之frame详解](https://juejin.im/post/5ef94d66f265da23062456f6) 7 | 8 | [SwiftUI之AlignmentGuides](https://juejin.im/post/5ef94c64e51d453474166298) 9 | 10 | [SwiftUI之GeometryReader](https://juejin.im/post/5f05737a6fb9a07e7a53d384) 11 | 12 | [SWiftUI之Layout基础篇](https://juejin.im/post/6856276793817563144/) 13 | 14 | ## 控件 15 | [SwiftUI之ScrollView+Hosting+Representable](https://juejin.im/post/5f0336506fb9a07e8351f63d) 16 | 17 | [SwiftUI-RoundedCornersView](https://github.com/agelessman/SwiftUI-RoundedCornersView) 18 | 19 | ## 动画 20 | 21 | [SwiftUI动画(1)之Animatable](https://juejin.im/post/5ef94762f265da22ad19dd55) 22 | 23 | [SwiftUI动画(2)之GeometryEffect](https://juejin.im/post/5ef94b53e51d45346200386f) 24 | 25 | [SwiftUI动画(3)之AnimatableModifier](https://juejin.im/post/5ef94bdce51d4534c4550af5) 26 | 27 | [SwiftUI之Transitions](https://juejin.im/post/5ef94c2f6fb9a07e5d76b5ee) 28 | 29 | ## Custom 30 | 31 | [SwiftUI之Custom Styling](https://juejin.im/post/5ef94deff265da22e610d07c) 32 | 33 | [SwiftUI之Custom ProgressView](https://juejin.im/post/5f003d906fb9a07e9d6035fa) 34 | 35 | ## 精彩 36 | 37 | [SwiftUI之ViewModifier详解](https://juejin.im/post/5ef94dc65188252e7206b547) 38 | 39 | [SwiftUI之安全更新Views](https://juejin.im/post/5ef94e246fb9a07ea929c52d) 40 | 41 | [SwiftUI之id(_)如何标识View](https://juejin.im/post/5ef94e46e51d45348424d98c) 42 | 43 | [SwiftUI之View实现Equatable协议](https://juejin.im/post/5ef94e75e51d4534640e985e) 44 | 45 | [SwiftUI之Gradient详解](https://juejin.im/post/5eff0d3bf265da23062460ee) 46 | 47 | [SwiftUI之View Tree(PreferenceKey)](https://juejin.im/post/5f06c5246fb9a07e9824cee2) 48 | 49 | [SwiftUI之View Tree(AnchorPreferences)](https://juejin.im/post/5f0c47805188252e3426daa3) 50 | 51 | [SwiftUI之View Tree实战1](https://juejin.im/post/5f0daac7e51d4534c9397cad) 52 | 53 | [SwiftUI之View Tree 实战2(绘制二叉树)](https://juejin.im/post/5f0e7437e51d453495701ab7) 54 | 55 | [SwiftUI之View Tree 实战3(下拉刷新)](https://juejin.im/post/5f1655506fb9a07eb04d81a6) 56 | 57 | ## SwiftUI vs UIKit 58 | 59 | [SwiftUI之如何监听Dismiss手势](https://juejin.im/post/5ef94d996fb9a07e637d04e2) 60 | 61 | ## 实战 62 | [LearnMovieSwiftUI](https://github.com/agelessman/LearnMovieSwiftUI)**需要f_a_n q_i_a_n_g** 63 | ![img](https://github.com/Dimillian/MovieSwiftUI/raw/master/images/MovieSwiftUI_promo_new.png?) 64 | 该项目是对[MovieSwiftUI](https://github.com/Dimillian/MovieSwiftUI)的拙劣模仿,有兴趣的朋友可以去下载学习原项目, 65 | 本人对原项目的UI部分做了部分调整,但使用了大量的Combine来处理逻辑和网络请求,代码更加容易阅读和理解,项目现在处于开发中。。。 66 | 67 | **初步计划是实现iOS,iPadOS, macOS3个平台的适配,帮助大家学习SwiftUI知识,等项目写完后,会做成视频教程。** 68 | 69 | ## 其他 70 | [一文读懂Swift函数式编程](https://juejin.im/post/6863262706720817159) 71 | 72 | ## Combine核心内容 73 | > 不得不说,Combine+SwiftUI是一对超强组合,用SwiftUI写代码不熟悉Combine是万万不行的,先补充纯文字的教程,后续再增加视频教程 74 | 75 | **到目前为止,Combine的教程已经完成,通过学习该教程能够全面地了解Combine的应用和原理。** 76 | 77 | **如果想学习如何拓展Combine,可以访问[CombineExt](https://github.com/CombineCommunity/CombineExt)** 78 | 79 | **更进一步,如果想了解Combine源码层面的知识,可以访问[OpenCombine](https://github.com/OpenCombine/OpenCombine)** 80 | 81 | **关于Combine的任何知识,都可以在这些内容中获取,希望能够帮助到大家。** 82 | 83 | 1. [Combine之简述](https://juejin.cn/post/6911211072611418120/) 84 | 2. [Combine之核心概念](https://juejin.cn/post/6911489863204700167/) 85 | 3. [Combine之Publishers](https://juejin.cn/post/6911859875014246407/) 86 | 4. [Combine之Subjects](https://juejin.cn/post/6917427878745358343/) 87 | 5. [Combine之Operator[Mapping elements元素映射]](https://juejin.cn/post/6912227043531423757/) 88 | 6. [Combine之Operator(Filtering elements元素过滤)](https://juejin.cn/post/6913717022077485063/) 89 | 7. [Combine之Operator(Reducing elements元素减少)](https://juejin.cn/post/6914114671762997255/) 90 | 8. [Combine之Operator(Mixing datas 数据合并)](https://juejin.cn/post/6914466467861921806/) 91 | 9. [Combine之Operator(Matching datas 数据匹配))](https://juejin.cn/post/6914833026937520135/) 92 | 10. [Combine之Operator(Mathematic operations 数学运算符)](https://juejin.cn/post/6915214311317045255/) 93 | 11. [Combine之Operator(Sequence operations 顺序操作)](https://juejin.cn/post/6916383020878888967/) 94 | 12. [Combine之Operator(Controlling timing 时间控制)](https://juejin.cn/post/6916686668716212238/) 95 | 13. [Combine之Operator(Multiple subscribers 多重订阅)](https://juejin.cn/post/6917048059612856327/) 96 | 14. [Combine之Operator(Encoding and decoding 编解码)](https://juejin.cn/post/6917429103352086541/) 97 | 15. [Combine之Operator(Scheduler and Thread handling 处理线程)](https://juejin.cn/post/6918909429882716168/) 98 | 16. [Combine之Operator(switchToLatest)](https://juejin.cn/post/6918910507596382216/) 99 | 17. [Combine之Operator(Error Handing 错误处理)](https://juejin.cn/post/6919282447100149773/) 100 | 18. [Combine之Operator(Debugging调试)](https://juejin.cn/post/6919283085657931783/) 101 | 19. [Combine之Subscribers](https://juejin.cn/post/6919652912734535693/) 102 | 20. [Combine之SwiftUI中的状态管理](https://juejin.cn/post/6920025176834834439/) 103 | 21. [Combine之实战(应用)](https://juejin.cn/post/6920400409542524936/) 104 | 22. [Combine之自定义Publisher](https://juejin.cn/post/6921875017361948679/) 105 | 23. [Combine之自定义Operator](https://juejin.cn/post/6922249243319074823/) 106 | 24. [Combine之自定义Subscriber](https://juejin.cn/post/6922637646762098702/) 107 | --------------------------------------------------------------------------------