@State@State是一个属性包装器,可以用来描述视图的状态。 SwiftUI会将其存储在View struct之外的特殊内存中, 只有相关视图才能访问它。当 @State 装饰过的属性发生了变化,SwiftUI 会根据新的属性值重新创建视图struct ProductsView: View {
    let products: [Product]
    @State private v            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-11 10:45:58
                            
                                143阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            苹果近期推出了一个全新的 SwiftUI 框架,可以极大地提高 iOS 上 UI 界面的开发效率。今天小彭就用 SwiftUI 来实现一个新闻资讯 app,看看能有多快。受篇幅所限,我们将通过上下两篇文章为大家介绍如何实现一个完整的新闻资讯 app,本篇主要内容有:SwiftUI 的基础知识:预览、View 协议、修饰器、@State 特性等。使用 NavigationView、Navi            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-08 22:06:46
                            
                                108阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            基础知识sheet在给定条件为真时显示工作表。func sheet<Content>(isPresented: Binding<Bool>, onDismiss: (() -> Void)? = nil, content: @escaping () -> Content) -> some View where Content : ViewisPresent            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-05-29 16:24:11
                            
                                205阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            置顶菜鸟入门,各位大佬轻喷,如有谬误之处欢迎讨论建议,也欢迎各位道友与我同行“不积跬步,无以至千里;不积小流,无以成江海”状态变量的定义如果我们把一个视图结构体类比为vue中的一个组件那么类比vue中的data属性,定义一个变量,它被引用时,它的变化会直接反应到视图上struct ContentView: View {
    
    // 定义一个私有的状态变量 test 它的初始值是字符串1            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-11 07:19:41
                            
                                98阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            完整中文教程及代码请查看 github.com/WillieWangW…  绘制 Path 和 Shape用户访问列表中的地标时应当获得徽章,为此,我们需要创建徽章。在本文中,我们将通过组合 paths 和 shapes 来创建徽章,然后把它和另一个表示位置的 shape 叠在一起。我们可以尝试使用 overlaid 符号来给不同类型的地标创建多个徽章,修改它的重复次数或更改各种角度和比例。下载项            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-26 15:16:27
                            
                                243阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            引言1 - Storyboard 是一个能够节省你很多设计手机 App 界面时间的新特性,如图所示  (1)通过上图,你可以大致明白,如果你要制作一个页面很多很复杂的 App,Storyboard 可以帮助你解决写很多重复的跳转方法的麻烦,节省很多时间,以便你能够完全的专注于核心功能的实现上2 - Storyboard 是最先在 iOS 5 引入的一项振奋人心的特性,大幅缩减构建 App 用户界面            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-18 12:55:30
                            
                                469阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            总结笔记在 UIKit 开发时,我们经常会接触一些像是 viewDidLoad,viewWillAppear 这样的生命周期的方法,并在里面进行一些配置。SwiftUI 里也有一部分这类生命周期的方法,比如 .onAppear 和 .onDisappear,它们也被“统一”在了 modifier 这面大旗下。但是相对于 UIKit 来说,Swift            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-29 10:54:33
                            
                                356阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            SwiftUI 为我们提供了许多宝贵的方法来控制视图的对齐方式最简单的对齐选项是frame修饰器的alignment参数。请记住,文本视图始终使用显示其文本所需的确切宽度和高度,但当我们在其周围放置一个可以具有任何大小的框架时。由于父级在子级的最终大小中没有发言权,因此这样的代码将创建一个 300x300 帧,其中以较小的文本视图为中心struct sj_frame: View {
    var            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-21 06:11:41
                            
                                64阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            如在OC中使用AFNetworking一般,Swift我们用Alamofire来做网络库.而Moya在Alamofire的基础上又封装了一层:1.关于moyamoya官方说moya有以下特性-_-:编译时检查正确的API端点访问.使你定义不同端点枚举值对应相应的用途更加明晰.提高测试地位从而使单元测试更加容易.2.开始1.创建枚举API就像这样:enum APIManager {
case get            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-08 22:15:49
                            
                                91阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            声明:阅读该文章请确保你有 Android 开发的相关知识  这是《Android 开发者的 Flutter》系列的第六篇,如果想看上一篇请参考: Android 开发者的 Flutter(五) —— Flutter 中的 Intent 及处理Flutter 中的 runOnUiThread()Dart 有一个单线程执行模型,支持 Isolates 事件循环和异步编程(在另一个线程上运行 Dart            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-27 06:47:39
                            
                                55阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            布局简介Xcode的布局工具共有两套,一套为Autoresizing,另一套为AutoLayout。Autoresizing将可视化控件拖放到ViewController上时,默认使用的就是Autoresizing排版。在Storyboard中由两个同心正方形表示,外面的正方形表示SuperView(父视图),里面的正方形代表控件。例如,如果需要控件的宽度随屏幕的宽度自动调整,我们只需要设定控件的            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-04 12:57:17
                            
                                201阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            设置SwiftUI backgroundColor的方法与foregroundColor相同SwiftUI有一个称为的修饰符很有用,.background()这样您就可以在当前视图后面添加任何类型的视图。不仅限于颜色,您的背景可以是图像,也可以是更复杂的形状。但是,当我使用.foregroundColor()修饰符时,我会利用这样的事实,即Color通过提供像这样的参数来期望a .blue。您不能            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-06 14:09:45
                            
                                318阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            前言首先呢,为什么会有PageView嵌套PageView这个需求……我们来看下抖音的交互:抖音交互从图上不难分析出,首页里面放了2个tab,右边的菜单栏则是独立存在的一个页面再加上嵌套滑动,所以实现方式就是,PageView里面再嵌套一个布局,首页那块无法就是在这个嵌套布局中加入一个TabBarView就好了嘛,菜单栏用状态管理来更新菜单内容,so easy~然而事实证明我还是太年轻了……Tab            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-08 11:33:11
                            
                                244阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Animations and States终于来到了SwiftUI的重头戏了,这篇主要内容是动画和状态,重中之重是状态。 视频教程地址:教程链接 SwiftUI整体上是一个MVVM的框架了,有别于微软的MVVM框架,Android的LiveData,LifeCycle,DataBinding,Flutter的Stateful这一套概念,SwiftUI的MVVM更加的简便,封装程度更高,类似于web            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-04 08:34:30
                            
                                121阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            UIToolbar一种控件,它在界面的底部边缘显示一个或多个按钮。class UIToolbar : UIView总览 要创建工具栏项,请使用类。要将工具栏项添加到工具栏,请使用方法。UIBarButtonItemsetItems(_:animated:)表示项目的正常状态和突出显示状态的工具栏图像来自您使用类的继承image属性设置的图像。图像用工具栏的着色。UIBarItemtintColor            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-03 19:26:27
                            
                                48阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            置顶菜鸟入门,各位大佬轻喷,如有谬误之处欢迎讨论建议,也欢迎各位道友与我同行“不积跬步,无以至千里;不积小流,无以成江海”继续上文中已经实现封装以及父子组件传值。但是在调试的过程中发现了一个bug:由于TodoList 界面被分成了两个 Section,如果我们从下方开始点击完成,删除的时候出现了删除的那一项永远都是第一个分组里面的,等第一个分组里面的被删完了之后才会删除第二个分组,如下图: 很显            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-10 06:09:41
                            
                                59阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            总览如果你想要入门 SwiftUI 的使用,那 Apple 这次给出的官方教程绝对给力。这个教程提供了非常详尽的步骤和说明,网页的交互也是一流,是觉得值得看和动手学习的参考。不过,SwiftUI 中有一些值得注意的细节在教程里并没有太详细提及,也可能造成一些困惑。这篇文章以我的个人观点对教程的某些部分进行了补充说明,希望能在大家跟随教程学习 SwiftUI 的时候有点帮助。这篇文章的推荐阅读方式是            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-20 17:10:41
                            
                                43阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            SwiftUI的@StateObject属性包装器旨在填补状态管理中的一个非常具体的空白:当您需要在其中一个视图中创建引用类型并确保该类型在该视图以及与之共享的其他视图中仍然有效时,可以使用。例如,考虑一个简单的User类,例如:class User: ObservableObject {
    var username = "@twostraws"
}如果要在各种视图中使用它,则需要在Swif            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-12 11:06:48
                            
                                83阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Sheet是一个我比较喜欢的交互形式,它可以很好的控制用户的操作行为,让用户的交互逻辑单线条化。在iOS14上,SwiftUI增加了fullCover,支持了全屏的Sheet方式,让开发者又了更多的选择。 
 基本用法  @State var showView1 = false
@State var showView2 = false
List{
    Button("V            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-09 11:28:26
                            
                                184阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            作者 | 黄兢成SwiftUI 最厉害的地方是其与 Xcode 深度集成,可以实时刷新预览,这将会改变 UI 的开发方式。另外其声明式语法写起来也挺方便。SwiftUI 的声明式语法,本身就是 Swift 的语法,属于语言内部 DSL。用了一些不太常见的语法特性,乍一看让人觉得很神奇。DSL(Domain Specific Language) 的概念见附录 1。本文讨论 SwiftUI            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-28 22:40:10
                            
                                177阅读