V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
qtoq126
V2EX  ›  iDev

用 SwiftUI 能不能实现很多 apple 官方 app 横向滑动卡片的动画样式

  •  
  •   qtoq126 · 263 天前 · 2997 次点击
    这是一个创建于 263 天前的主题,其中的信息可能已经有所发展或是发生改变。

    很多 apple 的官方 app 都有这个效果,比如 Music ,AppStore

    当你横向滑动卡片时,手势停止的时刻,它会自动回到显示完整的上一个卡片,或者显示完整的下一个卡片的位置,不会停留在无法显示完整卡片的位置(如果单纯的用 scrollview ,手势停止它就会慢慢停止,不会自动去挪动位置)

    如果用 swiftui 实现这个效果呢?

    我问了 gpt 好多遍,它都没回答出来

    apple 好像也没有开放这个效果的方法

    视频地址: https://watch.wave.video/ffvfggCjMnyrZc9c

    22 条回复    2024-05-29 16:32:15 +08:00
    drainlin
        1
    drainlin  
       262 天前
    你说的,难道不是 tabview 加上修饰符.tabViewStyle(PageTabViewStyle())
    qtoq126
        3
    qtoq126  
    OP
       262 天前
    @kemchenj 我手上的电脑 xcode 最高只能拉到 14.2 ,这个得 15 才能看,不过我看了下这个帖子里面写的,确实是我说的这个效果,k 大 nb ,pual nb
    话说这种答案真难搜啊,我用英文描述了很多次,但是 google 不出来
    kongkx
        4
    kongkx  
       262 天前 via Android
    关键词。snap scroll
    rainbowmolly
        5
    rainbowmolly  
       262 天前 via iPhone
    只有 iOS 17 可用这种东西上不了生产环境吧,会被用户骂死
    CastleBUPT
        7
    CastleBUPT  
       262 天前 via iPhone
    @rainbowmolly
    骂的,不是目标用户,完事
    posthoc
        8
    posthoc  
       262 天前
    分页滑动,页面之间有间隔,分页阈值较大,轮播组件不就是要实现这类效果吗?只不过是关闭了自动轮播功能。我写了一个轮播组件( https://github.com/YuLeiFuYun/CardCarousel ),可以比较容易的实现这个效果,代码像这样:
    https://gist.github.com/YuLeiFuYun/cfa8269473696810fe69f4a20077fcea
    BernieDu
        9
    BernieDu  
       262 天前
    @rainbowmolly chatGPT 5 个月前发布 app 时最低要求版本是 16.1 。现在产品评分 4.9 。 我觉得产品力够的话现在发布个 app 要求 17 也不是很离谱
    LiGG
        10
    LiGG  
       262 天前
    https://www.youtube.com/@Kavsoft 看看这里面的视频,能不能找到你想要的效果吧。
    rainbowmolly
        11
    rainbowmolly  
       261 天前 via iPhone
    @BernieDu 我说的不太对,在被用户骂之前会被国内的产品骂死😂
    rainbowmolly
        12
    rainbowmolly  
       261 天前 via iPhone
    @BernieDu 用评分作为标准其实也不对,因为 iOS 16 以下的根本无法评分……
    BernieDu
        13
    BernieDu  
       261 天前
    @rainbowmolly 需要他们评分吗? 现在美区免费 app 榜 chatgpt 长期是第一名。。靠降低版本来维持用户本来就是伪命题,产品力才是硬道理
    rainbowmolly
        14
    rainbowmolly  
       211 天前
    @BernieDu 可是无法下载的用户也无法评分啊……
    BernieDu
        15
    BernieDu  
       209 天前
    @rainbowmolly 你不会觉得霸榜只看高分不看评分数量吧
    rainbowmolly
        16
    rainbowmolly  
       208 天前
    @BernieDu “现在产品评分 4.9 ”得出“产品力够”的结论是你的原话一个字不差,怎么又变成我觉得了?
    BernieDu
        17
    BernieDu  
       208 天前
    @rainbowmolly 我说评分高你说一部分人评不了,然后我说霸榜了,你重复强调一部分人评不了,我看你是个外行只好给你解释霸榜的条件了。
    rainbowmolly
        18
    rainbowmolly  
       207 天前
    @BernieDu 霸榜和评分有什么关系?我说一部份人用不了,你说霸榜,不是牛头不对马嘴?霸榜不霸榜它也是一部份人用不了啊?也改变不了这个事实啊?我才开发 8 年 iOS ,确实外行了,可能您开发 30 年 iOS 了?班门弄斧了,见笑。
    rainbowmolly
        19
    rainbowmolly  
       207 天前
    @rainbowmolly 如果您还不理解,我给您解释一下逻辑:
    rainbowmolly
        20
    rainbowmolly  
       207 天前
    @BernieDu 评分高是因为用不了的人无法评分,这句话有问题吗?所以评分高无法得出产品力够这个结论,有问题吗?莫名其妙丢一句霸榜看数量,有人在讨论霸榜看什么么?如果您连这个逻辑都不理解,建议还是不要回复了呢,继续当您的砖家
    BernieDu
        21
    BernieDu  
       207 天前
    @rainbowmolly 别跟我在这刷存在感了,你喜欢最低几就最低几
    rainbowmolly
        22
    rainbowmolly  
       206 天前
    @BernieDu 呵呵,您太厉害啊,大佬
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2742 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 08:12 · PVG 16:12 · LAX 00:12 · JFK 03:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.