photoshop画简单网站苏州网站推广如何

news/2025/9/29 22:39:23/文章来源:
photoshop画简单网站,苏州网站推广如何,上海网站建设哪家口碑好,生活服务手机网站开发ScrollViewReader是我最喜欢的SwiftUI新版本的新功能之一。在iOS 14发布之前#xff0c;控制ScrollView的滚动位置并不容易。如果希望滚动视图滚动到特定位置#xff0c;我们必须找到自己的解决方案。 使用ScrollViewReader#xff0c;只需几行代码#xff0c;就可以使滚动…ScrollViewReader是我最喜欢的SwiftUI新版本的新功能之一。在iOS 14发布之前控制ScrollView的滚动位置并不容易。如果希望滚动视图滚动到特定位置我们必须找到自己的解决方案。 使用ScrollViewReader只需几行代码就可以使滚动视图滚动到特定位置。本篇文章我们将探究一下ScrollViewReader的使用。 关于ScrollView的使用想必大家都不陌生了先看一下下面这个示例 struct ScrollViewReaderDemo: View {var body: some View {ScrollView {ForEach(0..50) { index inText(This is item \(index)).font(.headline).frame(height: 150).frame(maxWidth: .infinity).background(Color.white).cornerRadius(10).shadow(radius: 10).padding()}}} }上面是一个比较简单的ScrollView使用方法我们可以手动滑动界面。如果我们想要代码控制滚到哪里或者是满足某个条件后自动滚动那如何处理呢以前在UIKit中我们能持有UIScrollView的实例变量然后调用相关方法那么在SwiftUI中有这么一个实例变量吗 答案是肯定有的那就是使用ScrollViewReader。 ScrollViewReader是通过使用代理来滚动到已知的子视图从而提供程序化滚动的视图。 ScrollViewReader的构造闭包里面返回了一个ScrollViewProxy类型的实例对象通过这个对象调用scrollTo(_:anchor:)方法实现滚动。 func scrollToID(_ id: ID,anchor: UnitPoint? nil ) where ID : Hashableid: 子视图的唯一标识。 anchor: 滚动动作的对齐行为。 如果anchor为nil则此方法会找到已标识视图并滚动最小值以使已标识视图完全可见。 如果anchor非nil它将定义已标识视图和滚动视图中要对齐的点。例如将anchor设置为top将标识视图的顶部与滚动视图的顶部对齐。类似地将anchor设置为bottom将标识视图的底部与滚动视图的底部对齐依此类推。 下面的代码中添加了一个Button点击后将ScrollView滚动指定的位置尤其要注意的是记得给每个子视图添加id修饰符要不然滚动的时候就找不到指定视图了。 struct ScrollViewReaderDemo: View {var body: some View {ScrollViewReader { proxy inScrollView {Button(Scroll to specific item) {withAnimation{proxy.scrollTo(30, anchor: .bottom)}}ForEach(0..50) { index inText(This is item \(index)).font(.headline).frame(height: 150).frame(maxWidth: .infinity).background(Color.white).cornerRadius(10).shadow(radius: 10).padding().id(index)}}}} }上面的代码能够轻松的实现ScrollView的滚动ScrollViewReader闭包返回的proxy代理了ScrollView进而操作滚动问题来了proxy的作用域只在ScrollViewReader闭包内如果点击滚动的按钮在外面或者在导航栏上那该如何实现呢 struct ScrollViewReaderDemo: View {State private var scrollToIndex: Int?var body: some View {NavigationStack {ScrollViewReader { proxy inScrollView {ForEach(0..50) { index inText(This is item \(index)).font(.headline).frame(height: 150).frame(maxWidth: .infinity).background(Color.white).cornerRadius(10).shadow(radius: 10).padding().id(index)}}.onChange(of: scrollToIndex) { newValue inif let newValue {withAnimation {proxy.scrollTo(newValue, anchor: .top)}}}}.navigationTitle(Title).navigationBarTitleDisplayMode(.inline).toolbar(content: {ToolbarItem(placement: .topBarTrailing) {Button(Scroll) {scrollToIndex 30}}})}} }上面代码中将点击滚动的按钮放到了导航栏的右侧这个时候在Button的点击事件内已经访问不到proxy代理了。 虽然访问不到了但是我们可以通过一个状态变量State修饰的变量的变化来触发滚动。 State private var scrollToIndex: Int?然后在能访问到proxy代理的区域内监听scrollToIndex的变化然后滚动视图。代码中给ScrollView添加了onChange修饰符并添加观察对象scrollToIndex当scrollToIndex变化的时候onChange修饰符闭包会被触发并返回最新的scrollToIndex的值。 .onChange(of: scrollToIndex) { newValue inif let newValue {withAnimation {proxy.scrollTo(newValue, anchor: .top)}} }在Button的事件里面修改scrollToIndex的值即可。 .toolbar(content: {ToolbarItem(placement: .topBarTrailing) {Button(Scroll) {scrollToIndex 30}} })通过这种方法就实现了外部点击内部ScrollView滚动的效果了。当然后上面代码只是提供了一个实现外部触发滚动的参考具体还得看大家的业务和设计需求了。 另外ScrollViewReader也可以和List组合使用滚动List。 写在最后 ScrollViewReader是SwiftUI框架的一个很好的补充。现在无需开发自己的解决方案就可以轻松地指示任何滚动视图滚动到特定位置。 最后希望能够帮助到有需要的朋友如果觉得有帮助还望点个赞添加个关注笔者也会不断地努力写出更多更好用的文章。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/922310.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么查看网站是否被收录在线制作表白网站

导语 让我们携手走进一个极具革新性的科技前沿领域,一同揭示能够与人类实现自然流畅对话的ChatGPT背后的运作机制。它犹如一个拥有无尽智慧的对话伙伴,跨越知识边界,回应各种疑问,并能创作出精辟的文章和诗篇。那么,C…

企业网站个人备案php网站如何做多语言

自动驾驶系列—智能巡航辅助功能中的车道中央保持功能介绍 自动驾驶系列—智能巡航辅助功能中的车道变换功能介绍 自动驾驶系列—智能巡航辅助功能中的横向避让功能介绍 自动驾驶系列—智能巡航辅助功能中的路口通行功能介绍 文章目录 2. 功能定义3. 功能原理4. 传感器架构5. 实…

南京做网站的客户电话Wordpress如何加联盟广告

【大数据进阶第三阶段之Datax学习笔记】阿里云开源离线同步工具Datax概述 【大数据进阶第三阶段之Datax学习笔记】阿里云开源离线同步工具Datax快速入门 【大数据进阶第三阶段之Datax学习笔记】阿里云开源离线同步工具Datax类图 【大数据进阶第三阶段之Datax学习笔记】使用…

织梦中查看演示网站怎么做手机做网站空间

1.String str new String("abc"); 请问定义了几个对象。定义了两个对象,一个"abc", 一个是new String().2.面向对象的东西:abstract & interface的各自的作用,区别。3.面向对象的特征,以及怎么实现的。1…

网站建设属于广告费么网站建设123

linux命令df linux命令:检查文件系统的磁盘空间占用情况。 格式:df [选项] 说明:df命令可显示所有文件系统对I节点和磁盘块的使用情况。 命令中各个选项的含义: df -a:显示所有文件系统的磁盘使用情况,包括…

用wordpress做外贸网站百度地图怎么搜街景

来源:数字化企业作为信息化发展到一定程度的必然结果,数字孪生正成为人类解构、描述和认识真实世界和虚拟世界的新型工具。从发展态势来看,数字孪生不仅是全新信息技术发展的新焦点,也是各国实现数字化转型的新抓手,还…

保定哪家做网站专业给排水管道水压试验方案久久建筑网

在 Kotlin 中,抽象类和抽象方法是面向对象编程中的概念,用于实现抽象和多态性。以下是有关 Kotlin 抽象类和抽象方法的详细信息: 抽象类: 定义: 抽象类是用 abstract 关键字声明的类,不能直接实例化。它可…

自己做外贸网站能接到单吗如何更新网站缓存

PDB大致功能描述:创建:用create pluggable database的命令,用file_name_convert的方式拷贝seed pdb的文件到对应的新pdb的路径下。拷贝的是最基本system和sysaux表空间,将新建的pdb从mount的状态打开到read write的状态。建立pdb用…

网站建设需要摊销吗做网站用语言

一、说明 本篇介绍模型模型的参数,模型推理和使用,保存加载。 二、训练参数和模型 在本单元中,我们将了解如何加载模型及其持久参数状态和推理模型预测。为了加载模型,我们将定义模型类,其中包含用于训练模型的神经网…

厦门同安区建设局网站拿网站的文章做外链

参照《经济研究》中毛其淋等(2023)的做法,团队对上市公司员工、工资数据测算。用上市公司i在t年的员工人数的对数衡量企业的就业水平,采用企业应付职工薪酬与员工人数的比值衡量企业工资水平 一、数据介绍 …

详细介绍:网络安全隔离技术解析:从网闸到光闸的进化之路

详细介绍:网络安全隔离技术解析:从网闸到光闸的进化之路2025-09-29 22:00 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important…

常州创新优典网站建设吕梁网站制作

配置WLAN AC和AP之间VPN穿越示例 组网图形 图1 配置WLAN AC和AP之间VPN穿越示例组网图 业务需求组网需求数据规划配置思路配置注意事项操作步骤配置文件 业务需求 企业用户接入WLAN网络,以满足移动办公的最基本需求。且在覆盖区域内移动发生漫游时,不影响…

一、驱动基础知识速览(迅为RK3568)

一、基础知识编译代码的三个环境变量,ARCH、CROSS_COMPILE、PATH分别表示架构、工具链、路径 驱动模块传参,module_param,module_param_array、module_param_string传递基本数据类型、数组和字符串 内核模块导出EXP…

网站建设人员要与客户谈什么北京工地网站建设

说到天龙八部的附体宝宝,相信许多爱美的玩家基本上都人手一只。附体后的增益多不多无所谓,首先附体后身上有龙、凤凰、蝴蝶等之类的特效,让许多玩家觉得游戏中角色颜值增添不少,当然一只属性不错的附体珍兽,也能够给游…

基于KingbaseES集群管理实战:从部署运维到高可用架构深度解析 - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

小型企业网站建站wordpress 底部模板

富格林认为,由于现货黄金具有独特的交易模式,因此让操作起来相当灵活,并且还可以拥有更强的盈利能力。实现盈利出金是投资者的投资目标,但是现货黄金市场复杂其中隐含着不少虚假暗箱陷阱,因此投资者要增强防范意识。下…

嘉定西安网站建设wordpress2

1.初始化npm包 npm init 输入npm init后,一路默认即可初始化成功,如下: 初始化成功后会生成一个package.json文件 n(以我的文件夹demo-npm-dir为例) package.json配置如下: {"name": "n…

java代码审计-Shiro认证授权

java代码审计 Shiro认证授权部分 前言: 这两天发现自己读shiro权限这块有点忘了,于是再好好学一遍shiro,然后结合实战代码审计记录练下1.Shiro 核心组件 shiro中的权限定义:用户,角色,权限 ,如图所示1、Usernam…

天津网站设计网站编辑器哪个好用

模板是一个让C支持范型编程的重要功能,它本质上是一个万能变量适配器;vector,pair等都是使用模板实现的 模板是C的一个强大特性,它允许您编写通用的代码来处理不同的数据类型。您可以有函数模板和类模板。 函数模板: 函数模板允许您创建一…