当前位置: 首页 > news >正文

番禺 网站建设wordpress 怎么安装主题

番禺 网站建设,wordpress 怎么安装主题,免费的个人简历电子版,wamp做的网站外网怎么访问文章目录 前言视图修饰符应用场景可见性完整示例ContentViewVideoPlayerViewScrollViewVisibilityApp 总结 前言 我们的滚动 API 中又有一个重要的新增功能#xff1a;滚动可见性。现在#xff0c;你可以获取可见标识符列表#xff0c;或者快速检查并监控 ScrollView 内视图… 文章目录 前言视图修饰符应用场景可见性完整示例ContentViewVideoPlayerViewScrollViewVisibilityApp 总结 前言 我们的滚动 API 中又有一个重要的新增功能滚动可见性。现在你可以获取可见标识符列表或者快速检查并监控 ScrollView 内视图的可见性状态。本周我们将学习如何使用新的 onScrollTargetVisibilityChange 和 onScrollVisibilityChange 视图修饰符。 视图修饰符 让我们先从 onScrollTargetVisibilityChange 视图修饰符开始。它设计得易于使用允许你将其附加到具有滚动目标布局的任何 ScrollView 上。让我们通过一个示例来探讨这个修饰符的使用。 struct ContentView: View {State private var visible: [Int] []var body: some View {ScrollView {LazyVStack {ForEach(1..100, id: \.self) { item inText(verbatim: item.formatted())}}.scrollTargetLayout()}.onScrollTargetVisibilityChange(idType: Int.self) { identifiers invisible identifiers}.onChange(of: visible) {print(visible)}} }如上例所示我们在懒加载栈LazyVStack上使用 scrollTargetLayout 视图修饰符以便允许 ScrollView 针对栈的子视图进行目标识别而不是针对栈本身。 要了解有关 scrollTargetLayout 视图修饰符的更多信息请查看我的文章《掌握 SwiftUI 中的 ScrollView滚动几何》。 应用场景 我们还将 onScrollTargetVisibilityChange 视图修饰符附加到 ScrollView 上提供标识符类型和操作闭包。在操作闭包内我们获取可见标识符列表并可以对可见项执行所需的操作。 有时视图需要在其可见性状态在 ScrollView 中发生变化时进行响应。对于这些情况SwiftUI 框架引入了 onScrollVisibilityChange 视图修饰符你可以将其附加到 ScrollView 内的任何视图上以处理其可见性。 struct VideoPlayerView: View {let url: URLState var player: AVPlayer?var body: some View {VideoPlayer(player: player).task {if player nil {player AVPlayer(url: url)}}.onScrollVisibilityChange { isVisible inif isVisible {player?.play()} else {player?.pause()}}} }上例定义了 VideoPlayerView 视图该视图在其可见时自动播放视频内容。正如你所见我们将 onScrollVisibilityChange 视图修饰符附加到视图本身并提供一个操作闭包。我们在操作闭包内获得可见性参数并可以对其变化进行响应。 可见性 onScrollVisibilityChange 和 onScrollTargetVisibilityChange 修饰符都具有 threshold 参数。threshold 参数允许我们调整需要可见的视口部分的数量以触发操作闭包。默认情况下SwiftUI 框架使用 0.5 作为阈值这意味着至少 50% 的视图需要可见SwiftUI 才会运行操作。但你可以轻松调整此值。 struct VideoPlayerView: View {let url: URLState var player: AVPlayer?var body: some View {VideoPlayer(player: player).task {if player nil {player AVPlayer(url: url)}}.onScrollVisibilityChange(threshold: 0.1) { isVisible inif isVisible {player?.play()} else {player?.pause()}}} }在上述示例中我们定义了阈值这意味着 SwiftUI 将在视图至少有 10% 可见时运行操作闭包。同样当视图从可见状态转换为不可见状态即显示的视口部分少于 10% 时也会运行该闭包。 完整示例 上面对视图修饰符有了初步了解它的设计得易于使用允许你将其附加到具有滚动目标布局的任何 ScrollView 上。让我们通过一个示例来探讨这个修饰符的使用。 示例代码如下 import SwiftUI import AVKitstruct ContentView: View {State private var visible: [Int] []var body: some View {ScrollView {LazyVStack {ForEach(1..100, id: \.self) { item inText(verbatim: item.formatted()).frame(width: 100, height: 100).background(item % 2 0 ? Color.blue : Color.red).cornerRadius(10).padding(5)}}.scrollTargetLayout()}.onScrollTargetVisibilityChange(idType: Int.self) { identifiers invisible identifiers}.onChange(of: visible) { newVisible inprint(Visible items: \(newVisible))}.navigationTitle(ScrollView Demo)} }struct VideoPlayerView: View {let url: URLState var player: AVPlayer?var body: some View {VideoPlayer(player: player).frame(height: 200).task {if player nil {player AVPlayer(url: url)}}.onScrollVisibilityChange { isVisible inif isVisible {player?.play()} else {player?.pause()}}} }main struct ScrollViewVisibilityApp: App {var body: some Scene {WindowGroup {NavigationView {VStack {ContentView()Spacer()VideoPlayerView(url: URL(string: https://www.example.com/video.mp4)!).padding()}}}} }这个示例 Demo 展示了如何使用 onScrollTargetVisibilityChange 和 onScrollVisibilityChange 视图修饰符来跟踪 ScrollView 中的视图可见性。整个示例分为两个部分一个是显示带有多个文本视图的 ScrollView另一个是显示一个视频播放器视图。 ContentView ScrollView 和 LazyVStack使用 ScrollView 包裹一个 LazyVStack在其中放置 1 到 99 的数字。每个数字都显示在一个 Text 视图中并有不同的背景颜色。scrollTargetLayout在 LazyVStack 上应用 scrollTargetLayout 视图修饰符以允许 ScrollView 针对栈的子视图进行目标识别。onScrollTargetVisibilityChange在 ScrollView 上应用 onScrollTargetVisibilityChange 视图修饰符并提供标识符类型和操作闭包。在操作闭包内获取可见标识符列表并赋值给 visible 状态变量。onChange监听 visible 状态变量的变化并打印当前可见的项。 VideoPlayerView VideoPlayer定义一个视频播放器视图使用 AVPlayer 播放视频。task在 task 修饰符中初始化播放器。onScrollVisibilityChange在视频播放器视图上应用 onScrollVisibilityChange 视图修饰符并提供一个操作闭包。在操作闭包内根据可见性状态来播放或暂停视频。 ScrollViewVisibilityApp 主应用入口定义主应用入口 ScrollViewVisibilityApp将 ContentView 和 VideoPlayerView 组合到一个垂直堆栈中并通过 NavigationView 进行导航。 运行这个 Demo你会看到一个带有多个文本视图的 ScrollView当你滚动时控制台会打印当前可见的项。此外在页面底部有一个视频播放器当视频播放器出现在视口内时它会自动播放当其离开视口时会自动暂停。 总结 今天我们学习了如何跟踪 ScrollView 内特定视图的可见性并监控可见标识符列表。示例展示了如何使用 SwiftUI 的滚动可见性修饰符来增强用户体验和交互性。希望能对你有所帮助。
http://www.hkea.cn/news/14375093/

相关文章:

  • wordpress标签多重筛选苏州seo排名优化
  • 会员视频网站建设贪玩游戏官网
  • 龙岩网站建设的软件公司高端网站建
  • 新博念 足球网站开发做网站挣钱打擦边球
  • 网站开发环境实验报告ps制作网站模板
  • 网站建设都包括哪些内容定制网络推广计划
  • 西安网站推广优化搭建博客网站
  • 商丘网站制作方案比较优秀的国外wordpress网站
  • 嘉兴市网站建设企业网站托管套餐
  • p2p网站 开发wordpress新框架vue
  • 免费域名申请流程网站优化软件
  • 做汽车售后的网站织梦做的网站首页排版错误
  • 沈阳市网站建设企业知名网站开发哪里有
  • 郑州网站建设廴汉狮网络自建网站软件
  • 教育类网站开发淄博网站优化服务
  • 中国建设教育学会网站官方网站下载钉钉
  • 游戏网站创建wordpress当面付
  • 南阳做网站商业网站建设目标
  • 怎么弄个人网站链友咨询
  • 天津市建设教育培训中心的网站网站建设方案模版
  • 网站推广方案计划书米特号类似网站
  • p2p网站开发的多少钱开源的 二次网站开发
  • 岳阳网站建设设计网站开发创意想法
  • 网站如何提高百度排名小程序开发模板源码
  • wordpress点击阅读全文seo优化思路
  • 必应网站收录提交入口今天最新的招聘信息
  • 学校网站管理与建设做产品设计之前怎么查资料国外网站
  • wordpress漫画主题推荐茂名seo网站推广
  • wordpress微信域名回调长沙网站优化方法
  • wordpress 版权加密seo技能培训