Swift4.x普通笔记07 展示一个modal细节操作,RxSwift简单实用,附注释

我们开始安装RxSwift

  pod 'RxSwift'
  pod 'RxCocoa'

pod update --verbose --no-repo-update  (时间不多的话,用这条)

然后command + B   编译一下

 

首先我们新建一个页面,最简单的那种文件名在下面

MoreViewController.swift

MoreViewController.storyboard

这里storyboard你可以随便布局,我这里放了一个输入框,一个按钮

 

 

接下来在别的Controller里面进行触发展示。

//这里是我定义的全局常量
fileprivate let disposeBag = DisposeBag()





//这里用到了rxswift
tipButton.rx.controlEvent(.touchUpInside)
            .subscribe(onNext: { [weak self]in
                                

                                //获得storyboard
                                let storyboard = UIStoryboard(name: String(describing: MoreViewController.self), bundle: nil)
                                

                               // 初始化我们的MoreViewController控制器
                                let moreLoginVC = storyboard.instantiateViewController(withIdentifier: String(describing: MoreViewController.self)) as! MoreViewController
                                
                               // 这里定义一个它的宽高属性
                                moreLoginVC.modalSize = (width: .full, height: .custom(size:Float(screenHeight  )))
                                

                               // 这里进行show,self代表当前的视图。
                                self!.present(moreLoginVC, animated: true, completion: nil)
                                
                            }).disposed(by: disposeBag)

 

RxSwift的高级操作还有很多。这里只是作为简单使用 

 

 

 

 

 

 

 

 

 

 

 

 

 

SwiftUI中,`.modal` 修饰符用于呈现一个模态视图,允许用户在当前界面之上展示一个新的交互界面。这种模态视图通常用于需要用户特别关注或执行特定操作的场景,例如表单填写、确认操作或设置选项。 `.modal` 通常与 `@State` 或 `@Binding` 配合使用,以控制模态视图的显示与隐藏。以下是一个典型的使用 `.modal` 的示例: ```swift import SwiftUI struct ContentView: View { @State private var showModal = false var body: some View { Button("显示模态视图") { showModal = true } .modal(isPresented: $showModal) { ModalView(dismissAction: { showModal = false }) } } } struct ModalView: View { var dismissAction: () -> Void var body: some View { VStack { Text("这是一个模态视图") Button("关闭") { dismissAction() } } .padding() } } ``` 在上述代码中,`ContentView` 中的 `@State` 属性 `showModal` 控制模态视图的显示状态。当按钮被点击时,`showModal` 被设为 `true`,从而触发 `.modal` 修饰符显示模态视图。模态视图 `ModalView` 接收一个闭包作为参数,用于在用户点击“关闭”按钮时执行 `@State` 变量的更新操作,从而隐藏模态视图。 需要注意的是,`.modal` 修饰符在 SwiftUI 的早期版本中可能存在一些限制,例如在 macOS 上的支持情况。对于这些平台限制,开发者可能需要依赖环境值(`@Environment`)或自定义实现来达到类似效果[^2]。 ### 相关问题 1. 如何在SwiftUI中通过环境值控制模态视图的样式? 2.SwiftUI中,如何在macOS应用中实现类似.modal的功能? 3. 如何在SwiftUI中实现带有动画效果的模态视图? 4. 如何在SwiftUI中嵌套使用多个.modal修饰符? 5.SwiftUI中,如何从模态视图返回数据到主视图?
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值