知识大胖
这个作者很懒,什么都没留下…
展开
-
SwiftUI动画和手势大全目录
SwiftUI动画和手势大全目录绘画与动画使用颜色,形状和阴影增强视图,并自定义视图状态之间的动画过渡。总览使用绘图工具组合形状或为您自己设计的形状定义自定义路径。将样式从环境可感知的颜色应用到丰富的渐变到形状的前景,背景和轮廓。动画AnimatableModifier 案例合集可以使用动画创建另一个修改器的修改器。struct AnimatablePair一对可设置动画的值,其本身是可设置动画的。struct EmptyAnimatableData可动画数据的空类型。stru原创 2021-01-12 08:18:19 · 362 阅读 · 0 评论 -
SwiftUI 动画大全之 如何创建Pendulum Swing 动画(教程含源码)
当state设置为最大值时,我们将旋转角度设置为 -40 度,当state设置为最小值时,我们将旋转角度设置为 40 度。从下面的代码中,您可以看到我们将如何创建悬挂底座。我们将创建一个VStackVStack 内部,我们将添加我们TopBase的 Holder,以及另一个VStack在其中包含PendulumRope和 Ball 的 VStack。我们还需要确保动画永远重复。在这里我们要做的是我们将添加一个rotationEffect修饰符到我们的第二个VStack,它持有PendulumRope和球。原创 2022-10-09 14:56:49 · 322 阅读 · 0 评论 -
SwiftUI 中使用 SpriteKit 创建雨动画效果(教程含源码)
注意这是我如何创建雨+闪电动画的版本。您也可以通过许多其他方式实现相同的目标。我们将如何创建Rain+LightningAnimation?从上图中,我们可以看到我们有一个SKScene有两个孩子的。雨(SKEmitterNode)闪电(SKShapeNode)为了详细说明,我们还将运行一个灯闪烁序列。...原创 2022-07-20 13:00:38 · 818 阅读 · 0 评论 -
SwiftUI 动画大全之逐帧动画编程控制播放(教程含源码)
实战需求SwiftUI 动画大全之逐帧动画编程控制播放本文价值与收获看完本文后,您将能够作出下面的界面实战代码import SwiftUIstruct ContentView: View { @State var Robot : String = "" var body: some View { VStack(alignment:.center){ Image(Robot)原创 2022-03-18 17:28:04 · 2279 阅读 · 0 评论 -
SwiftUI 游戏源码大全之贪吃蛇游戏基于GeometryReader和Preference
实战需求SwiftUI 游戏源码大全之贪吃蛇游戏基于GeometryReader和Preference本文价值与收获看完本文后,您将能够作出下面的界面游戏规则你抓住一个圆圈时,蛇会增长一段。不小心抓住了一颗星星,或者完全错过了一个圆圈[变成了一颗星星],蛇就缩小了一段。最终游戏是当蛇没有更多的段可以丢失时。代码设计1.项目框架ZStack(alignment: .center) { ForEach((0..<foods), id: \.self) { idx in //绘制障碍原创 2022-02-12 20:21:49 · 2434 阅读 · 0 评论 -
SwiftUI 动画特效库大全之18个超酷文本动画库 泛型泛型传递
实战需求SwiftUI 动画特效库大全之18个超酷文本动画库 泛型泛型传递ATTextAnimateEffect本文价值与收获看完本文后,您将能够作出下面的界面1、Random Typo Effect 随机打印效果2、 Typo Effect 打字效果3、Paper Effect 翻页动画效果4、 Chain Effect 链式动画效果5、Chime Bell Effect 敲响钟声的动画特效6、Curtain Effect 窗帘效果7、Drop原创 2022-02-09 23:26:43 · 1010 阅读 · 0 评论 -
SwiftUI 自定义组件大全之自带动画的 Fast Action Button 菜单
实战需求SwiftUI 自定义组件大全之自带动画的 Fast Action Button 菜单本文价值与收获看完本文后,您将能够作出下面的界面实施步骤第一步让我们从一个navigationView 开始,这样我们就可以为视图设置navigationTitle。struct FABMenu: View { @State private var showMenu = false var body: some View { NavigationView原创 2022-01-17 14:44:27 · 918 阅读 · 0 评论 -
SwiftUI 组件技巧大全之如何以编程方式滚动到一行
SwiftUI 组件技巧大全之如何以编程方式滚动到一行当执行简单的任务时,SwiftUI ScrollView 可能会变得非常乏味,而旧的亲爱的 UIKit 可能会非常非常令人沮丧。好吧,可悲的是,滚动到所需的行就是其中之一。在 UIKit 中,everyUIScrollView都有一个非常方便的方法来以编程方式滚动视图本身:func setContentOffset(CGPoint, animated: Bool)同样,每一种子类都有相似的方法;例如,UITableView您可以使用:fu原创 2022-01-16 09:38:05 · 1032 阅读 · 0 评论 -
SwiftUI 重构大全之利用范型简化修饰器 实现组件旋转任意角度
实战需求SwiftUI 重构大全之利用范型简化修饰器 实现组件旋转任意角度本文价值与收获看完本文后,您将能够作出下面的界面基础知识1、什么是范型通用代码使您可以编写灵活,可重用的函数和类型,这些函数和类型可根据您定义的要求与任何类型一起使用。您可以编写避免重复的代码,并以清晰抽象的方式表达其意图。泛型是Swift最强大的功能之一,许多Swift标准库都是使用泛型代码构建的。实际上,即使您没有意识到,您在整个《语言指南》中都使用了泛型。例如,SwiftArray和Dictionarytyp原创 2022-01-03 15:26:16 · 250 阅读 · 0 评论 -
SwiftUI动画之tab自定义切换动画(Animation) 教程含完整源码
本文价值与收获看完本文后,您将能够作出下面的界面看完本文您将掌握的技能获取项目全面源码制作个自定义tab设置自定义tab文字实现切换效果解决思路1、将页面划分为detail和tab部分,然后通过state变量来控制内容切换struct ContentView : View { @State private var selectedIndex: Int = 0 var selectedItem: BottomBarItem { items[s原创 2021-12-16 09:08:03 · 1003 阅读 · 1 评论 -
SwiftUI 动画大全之 五彩纸屑特效含三角形、五星、钻石与自定义图像 (教程含源码)
实战需求SwiftUI 动画大全之 五彩纸屑特效含三角形、五星、钻石与自定义图像 (教程含源码)下雨了,五彩纸屑!SAConfettiView是向您的应用程序添加有趣、多彩的五彩纸屑并让用户感到有回报的最简单方法。SAConfettiView用Swift编写,是UIView的一个子类,高度可定制。从各种类型和颜色的五彩纸屑到不同强度的强度,您可以随意制作五彩纸屑。本文价值与收获看完本文后,您将能够作出下面的界面.Confetti 效果三角形 效果五角星效果钻石效原创 2021-10-25 09:49:13 · 515 阅读 · 0 评论 -
SwiftUI 绘画大全之基于CoreData完整绘图APP源码支持后退和cloudkit
实战需求SwiftUI 绘画大全之基于CoreData完整绘图APP源码支持后退和cloudkit本文价值与收获看完本文后,您将能够作出下面的界面看完本文您将掌握的技能实现基础绘图功能实现钢笔绘图实现圆形和椭圆形绘图实现矩形和正方形设置线条颜色打开icloud内图片基于CoreData 实现后退功能实战代码1、主要画板import Foundationimport SwiftUIimport UIKitstruct CanvasView : View {原创 2021-08-30 16:23:38 · 366 阅读 · 0 评论 -
SwiftUI动画之超酷3D旋转效果rotation3DEffect(教程含源码)
实战需求SwiftUI动画之超酷3D旋转效果SwiftUI有很多新功能,实现方式最简单。在本教程中,您将学习如何使用SwiftUI添加花哨的3D动画。本文价值与收获看完本文后,您将能够作出下面的界面看完本文您将掌握的技能rotation3DEffectrotation3DEffect()修饰符在3D中提供旋转视图的输出。此修饰符有两个参数:角度:用于以指定角度/度旋转视图轴:X轴、Y轴和Z轴执行旋转。例如:Text(“SwiftUI Animations”).rotati原创 2021-07-18 07:35:57 · 1098 阅读 · 0 评论 -
SwiftUI 特色组件之 极简动画提示tool tip(教程含源码)
实战需求SwiftUI 特色组件之 极简动画提示tool tip本文价值与收获看完本文后,您将能够作出下面的界面基础知识实战代码1. 主界面import SwiftUIstruct ContentView: View { var tooltipConfig = DefaultTooltipConfig() init() { self.tooltipConfig.enableAnimation = true self.t原创 2021-07-16 23:50:43 · 360 阅读 · 0 评论 -
SwiftUI 特色组件之创建强大的Marquee 跑马灯滚动条(教程含源码)
实战需求创建强大的Marquee 滚动本文价值与收获看完本文后,您将能够作出下面的界面解决方案什么样的跑马灯才厉害?它必须支持任何内容视图(MarqueeLabel仅支持文本)。它可以自定义动画持续时间、自动反转、方向等。它可以任意组合使用。跑马灯动画原理其原理是,内容视图从移动一端选取框到另一个,并且循环重复完成之后。实施步骤所述第一步骤是获得选取框和内容视图的宽度。关于这一点,可以使用GeometryReader和PreferenceKey来实现。GeometryRe原创 2021-07-16 21:36:12 · 496 阅读 · 1 评论 -
SwiftUI 动画之启动和取消动画
实战需求SwiftUI 动画之启动和取消动画本文价值与收获看完本文后,您将能够作出下面的界面实战代码import SwiftUIstruct ContentView: View { @State private var alignmentBool: Bool = Bool() @State private var activeAnimation: Bool = Bool() var body: some View {原创 2021-07-03 20:22:56 · 620 阅读 · 1 评论 -
SwiftUI 动画特效之代码雨组建电影特性(项目含源码)
实战需求SwiftUI 动画特效之代码雨组建电影特性(项目含源码)本文价值与收获看完本文后,您将能够作出下面的界面基础知识按时间生成随机字符串final class MatrixElementViewModel: ObservableObject { @Published var randomCG = CGSize() @Published var randomCharacters = [String]() let cgRange = CGS原创 2021-06-30 07:51:42 · 204 阅读 · 0 评论 -
SwiftUI 合成组件之倒计时组件Timer和Struct组合使用(教程含源码)
实战需求SwiftUI 合成组件之倒计时组件Timer和Struct组合使用(教程含源码)本文价值与收获看完本文后,您将能够作出下面的界面基础知识Timer经过一定时间间隔后将触发的计时器,将指定的消息发送到目标对象。class Timer : NSObject总览计时器与运行循环配合使用。运行循环会维护对其计时器的强引用,因此在将计时器添加到运行循环后,您不必维护自己的对计时器的强引用。为了有效地使用计时器,您应该了解运行循环的运行方式.计时器不是实时机制。如果在长时间运原创 2021-06-02 22:07:11 · 409 阅读 · 4 评论 -
SwiftUI 动画图形之绘制正弦波实现个性化波浪纹效果 (教程含源码)
实战需求SwiftUI 动画图形之绘制正弦波实现个性化波浪纹效果 (教程含源码)本文价值与收获看完本文后,您将能够作出下面的界面一个可动画显示的SwiftUI形状,用于沿着底部绘制带有弯曲正弦波的矩形。使用方法 WavyRectangle( phase: .radians(.pi / 6.0), amplitudeRatio: 0.3, frequency: 30 ) .fill(Color.pink)核心代码1、优质的主界面结构imp原创 2021-05-17 10:12:54 · 691 阅读 · 0 评论 -
SwiftUI 音乐类App之Tuner App 调谐器适用于任何乐器支持木风 黄铜 琴弦 声音
实战需求SwiftUI 音乐类App之Tuner App 调谐器适用于任何乐器支持木风 黄铜 琴弦 声音本文价值与收获看完本文后,您将能够作出下面的界面项目特性美丽、干净、简单的界面大电流音符表示和高标记,当音符调整时,从红色变为绿色单触式菜单应用转换以轻松调谐所有乐器点击主音符调整偏好,以偏爱锐利或平底鞋在所有屏幕尺寸和方向上都效果良好,从最小的 iPhone 到最大的 iPad基础知识SwiftUI 对齐扩展组件AlignmentIDimport SwiftUI原创 2021-05-16 12:04:43 · 453 阅读 · 0 评论 -
SwiftUI 代码库之 54 圆形照片红边组件
实战需求SwiftUI 圆形照片红边组件实战代码struct Person: Identifiable { let id = UUID() let name: String var photo = "1"}struct StoryItemView: View { let person: Person var body: some View { VStack(spacing: 8) { // Image("placeh原创 2021-05-05 08:27:54 · 211 阅读 · 0 评论 -
SwiftUI 快速显示Loading组件
实战需求SwiftUI 快速显示Loading组件本文价值与收获看完本文后,您将能够作出下面的界面实战代码import SwiftUIstruct ContentView: View { @State var isLoading = false var body: some View { Button("载入"){ self.isLoading.toggle() } if isLoading {原创 2021-05-03 10:04:14 · 1559 阅读 · 0 评论 -
SwiftUI 动画组件之Lottie小型高质量交互式的开源动画文件格式
实战需求SwiftUI 动画组件之Lottie小型高质量交互式的开源动画文件格式本文价值与收获看完本文后,您将能够作出下面的界面什么是LottieLottie是一种小型,高质量,交互式的开源动画文件格式,可以在运行时进行操作。App Store上排名前500的应用程序现在都使用Lottie吸引用户并提高转化率。Lottie的目标是尽可能支持尽可能多的After Effects功能,以提供比简单图标动画更多的功能。我们创建了一些其他示例,以展示库的灵活性,丰富性和深层的功能集。在示例应用程序中原创 2021-05-02 17:01:37 · 1016 阅读 · 0 评论 -
SwiftUI 股票App界面之分时股票走势图 (教程含源码)
实战需求SwiftUI 股票App界面之分时股票走势图本文价值与收获看完本文后,您将能够作出下面的界面看完本文您将掌握的技能生产随机数据集let randomNumber = Double.random(in: 0...0.02)private func generateSampleData(_ n: Int) -> [Double] { var prices = [Double]() for _ in (1..<n) {原创 2021-05-01 21:13:56 · 877 阅读 · 0 评论 -
SwiftUI 复杂界面之任务管理界面支卡片选择 (教程含源码)
实战需求SwiftUI 复杂界面之任务管理界面支卡片选择 (教程含源码)本文价值与收获看完本文后,您将能够作出下面的界面看完本文您将掌握的技能GeometryEffect 几何变换实现翻页效果一种效果,可在不更改其祖先或后代的情况下更改视图的视觉外观import SwiftUI//调用@State private var flipped = false@State private var animate3d = falseHStack { }原创 2021-05-01 20:40:05 · 231 阅读 · 0 评论 -
SwiftUI 动画之绘制仿心跳曲线动画 (教程含源码)
实战需求SwiftUI 动画之绘制仿心跳曲线动画 (教程含源码)本文价值与收获看完本文后,您将能够作出下面的界面看完本文您将掌握的技能SwiftUI Path绘制心跳曲线struct HeartBeat : Shape { func path(in rect: CGRect) -> Path { var path = Path() path.move(to: CGPoint(x: rect.minX, y: rect.midY))原创 2021-04-25 21:06:13 · 382 阅读 · 0 评论 -
SwiftUI TextField高级用法之限制文本TextField视图中的字符数
实战需求SwiftUI TextField高级用法之限制文本TextField视图中的字符数有时,您需要限制用户可以在应用程序的输入字段中输入的字符数,例如,在实现邮政编码的输入时。在UIKit中,您可能熟悉textField方法来限制UIKit TextField的字符。SwiftUI中的TextField似乎缺少这种功能,因为它没有为我们提供完成此任务的回调或方法,但是仍然有解决此问题的方法-您只需要改变思维方式即可。本文价值与收获看完本文后,您将能够作出下面的界面基础知识随着Sw原创 2021-04-25 15:14:42 · 907 阅读 · 0 评论 -
SwiftUI 阴影基础之 03 动画阴影制造月食效果 (教程含源码)
SwiftUI 阴影基础之 03 动画阴影看完本文后,您将能够作出下面的界面解决方案阴影值也可以设置动画。看到这一点,假设我们想用动画更新上面最后一个示例的阴影颜色,半径和偏移量。为了实现这一点,我们需要使用@State属性包装器标记以下四个属性;他们将在每次更改其值时更新视图:@State private var shadowColor: Color = .green@State private var shadowRadius: CGFloat = 8@State private var原创 2021-04-25 12:12:05 · 200 阅读 · 0 评论 -
SwiftUI 阴影基础之 02 给Color添加阴影
SwiftUI 阴影基础之 02 给Color添加阴影阴影常常是使视图对用户更具吸引力,消除完全平坦的外观并给人以深度感的缺失要素。在SwiftUI中这样做很容易;它所要做的就是调用一个视图修饰符,并传递一些配置阴影的参数。阴影可以显示在任何视图上,甚至可以进行动画处理。尽管在大多数情况下应用阴影没有副作用,但是按钮可能需要特别注意。02 给Color添加阴影我们可以直接在“颜色”中添加阴影;不要忘记,Color是SwiftUI中的视图Color(.darkGray) .frame(w原创 2021-04-25 08:33:52 · 620 阅读 · 0 评论 -
SwiftUI 组件之动态验证码组件 captcha(教程含源码)
实战需求SwiftUI 组件之动态验证码组件 captcha(教程含源码)本文价值与收获看完本文后,您将能够作出下面的界面看完本文您将掌握的技能SwiftUI 图像过滤器,通过设置没有清晰的边缘与形状,实现验证码效果func crystalizeImage(inputImage: UIImage, pieces: Float) -> UIImage { let ciImage = CIImage(image: inputImage) let crystalizeFi原创 2021-04-24 19:59:52 · 453 阅读 · 0 评论 -
SwiftUI 基础组件之可扩展的多彩List表格(教程含源码)
实战需求SwiftUI 基础组件之可扩展的多彩List表格(教程含源码)SwiftUIList具有增强的初始化程序,该初始化程序为我们提供了使用子元素扩展部分的功能。要使用这种形式的List数据,您需要精确的数据形式。您的数据模型应具有相同类型的可选子项数组,以便您可以创建树。本文价值与收获看完本文后,您将能够作出下面的界面看完本文您将掌握的技能struct ItemData: Identifiable { let id = UUID() let name: String原创 2021-04-19 13:58:13 · 278 阅读 · 0 评论 -
SwiftUI 文本组件之滚动动画数字组件 实现充满情感的微交互
实战需求SwiftUI 文本组件之滚动动画编号组件 实现充满情感的微交互适合体育应用程序、游戏、棋牌类app本文价值与收获看完本文后,您将能够作出下面的界面看完本文您将掌握的技能首先,我们将动画持续时间(1秒)划分为最多100个步骤的步骤(这避免了渲染如此之快,以至于看起来它立即达到了最终的数量)。然后,我们stepDuration从中创建一个animation duration / number of steps。所得商数为我们提供了一个步骤可以持续的时间。然后,我们乘的stepDura原创 2021-04-18 20:23:29 · 495 阅读 · 0 评论 -
SwiftUI Button精品组件之完美的SwiftUI抖动按钮效果(教程含源码)
实战需求SwiftUI Button精品组件之完美的SwiftUI抖动按钮效果(教程含源码)本文价值与收获看完本文后,您将能够作出下面的界面看完本文您将掌握的技能自定义ButtonStyle设置自定义效果struct ButtonPressedStyle: ButtonStyle { var style: ButtonStyleParams var drawBackground: Bool func makeBody(configuration: Se原创 2021-04-14 14:43:14 · 584 阅读 · 0 评论 -
SwiftUI ForEach之如何从ForEach中仅选择一个button按钮并设置长按
实战需求SwiftUI ForEach之如何从ForEach中仅选择一个button按钮并设置长按我有一些数据,并完成了ForEach将其写入按钮的操作。然后我有一个onLongPressGesture,我想长按时更改特定按钮的背景颜色。我该如何实现?本文价值与收获看完本文后,您将能够作出下面的界面看完本文您将掌握的技能响应长按ForEach中响应button//定义structstruct prayerTimesImages:Identifiable { var id原创 2021-04-06 20:57:30 · 457 阅读 · 0 评论 -
SwiftUI 高级动画Button按钮之点击后变化载入loading显示等待(教程含源码)
实战需求SwiftUI 高级动画Button按钮之点击后变化载入loading显示等待本文价值与收获看完本文后,您将能够作出下面的界面基础知识Button在触发时执行操作的控件。struct Button<Label> where Label : View总览您可以通过提供操作和标签来创建按钮。操作是方法或闭包属性,当用户单击或点击按钮时,该操作会执行某些操作。标签是描述按钮操作的视图,例如,通过显示诸如“取消”之类的文本或诸如“后退箭头”之类的图标来描述。Butt原创 2021-04-05 09:30:00 · 976 阅读 · 0 评论 -
SwiftUI 实用自定义弹出窗口的框架支持图文混合文本输入弹窗toast (教程含源码)
实战需求SwiftUI 实用自定义弹出窗口的框架支持图文混合本文价值与收获看完本文后,您将能够作出下面的界面属性自定义弹出窗口的方式让人感到很熟悉,因为它们只是视图。弹出窗口如何具有防撞功能,因为一次只能显示一个。该框架是一个用于在SwiftUI应用中创建,存储和呈现弹出窗口的系统。在较高的层次上,该系统包括:数量不断增长的可自定义弹出视图模板;一个环境视图模型,用于存储和协调弹出视图的呈现;一个视图修改器,用于将弹出视图和环境视图模型注入到应用程序的视图层次结构中。实战原创 2021-04-05 07:14:08 · 1021 阅读 · 0 评论 -
SwiftUI iOS 精品进度条组件之支持百分比和成功动画 (教程含源码)
实战需求SwiftUI iOS 精品进度条组件之支持百分比和成功动画本文价值与收获看完本文后,您将能够作出下面的界面基础知识progressview显示任务完成进度的视图。struct ProgressView<Label> where Label : View使用进度视图可以显示任务正在逐步完成。 进度视图可以显示确定的(完成百分比)和不确定的(正在进行或不正在进行)类型的进度。通过初始化一个ProgressView来创建确定的进度视图,该View绑定了一个表示进度的数原创 2021-04-04 19:12:30 · 460 阅读 · 0 评论 -
SwiftUI 精品组件之个性化动画TabBarView 切换组件(教程含源码)
实战需求SwiftUI 精品组件之个性化动画TabBarView 切换组件(教程含源码)本文价值与收获看完本文后,您将能够作出下面的界面看完本文您将掌握的技能ZStack(alignment: .bottom) 设置组件底部对其Identifiable 设置可识别 var id = UUID()struct中静态初始化static let tabs = [ TabBarItem(image: "house", title: "Home"),原创 2021-03-22 21:51:08 · 453 阅读 · 0 评论 -
SwiftUI iOS 提示组件之 成功完成动画提示框Alert Toast弹窗(教程含源码)
实战需求SwiftUI iOS 提示组件之 成功完成动画提示框Alert Toast弹窗本文价值与收获看完本文后,您将能够作出下面的界面看完本文您将掌握的技能用法很简单.alertDialog视图修饰符。2秒钟后,警报将被消除或通过点击警报视图来解除。分配状态变量以显示参数。默认持续时间为2。返回AlertToast并完成以下参数:type,title和subTitle(可选)。实战代码1、主界面import SwiftUIstruct ContentView: Vie原创 2021-02-11 10:02:36 · 1079 阅读 · 1 评论 -
SwiftUI iOS 提示组件之 仿Xcode图标图片提示框Alert Toast弹窗(教程含源码)
实战需求SwiftUI iOS 提示组件之 仿Xcode图标图片提示框Alert Toast弹窗(教程含源码)本文价值与收获看完本文后,您将能够作出下面的界面看完本文您将掌握的技能用法很简单.alertDialog视图修饰符。2秒钟后,警报将被消除或通过点击警报视图来解除。分配状态变量以显示参数。默认持续时间为2。返回AlertToast并完成以下参数:type,title和subTitle(可选)。实战代码1、主界面import SwiftUIstruct Conten原创 2021-02-11 09:45:03 · 474 阅读 · 0 评论