iOS 26 适配笔记

这是适配iOS 26的笔记,并非介绍新功能和API。陆续更新,发现一个就写一个...

全屏返回手势

iOS 26 的导航控制器navigationController会自带全屏返回手势:interactiveContentPopGestureRecognizer,整个控制器View的区域都可以响应返回手势(相当于把FDFullscreenPopGesture直接内置了🤫),并且会自动识别手势冲突的情况,例如碰到了UIScrollView就会自动失效。

但是如果在诸如touchesMoved方法做一些手势响应处理的话就不行了,会触发返回手势的,这种情况就只能手动关闭了:

swift 复制代码
override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)
    if #available(iOS 26.0, *) {
        navigationController?.interactiveContentPopGestureRecognizer?.isEnabled = false
    }
}

override func viewWillDisappear(_ animated: Bool) {
    super.viewWillDisappear(animated)
    if #available(iOS 26.0, *) {
        navigationController?.interactiveContentPopGestureRecognizer?.isEnabled = true
    }
}
  • 或者在手势代理方法里面按照自己的条件开启或关闭。

PS:这个全屏返回手势可以不断触发的哦,意思是在当前控制器返回的过程中还可以继续滑,上一个控制器也能接着一起返回(以前动画过程中无法响应手势),也就是说只要滑得快就能一下子回到根控制器,要注意一下。

UIScrollView的边缘效果

iOS 26 UIScrollView会自带边缘效果:

滚动时会在边缘处自动带上一些模糊效果以突出导航栏元素,是个很好的视觉效果。

不过不知道为什么通过代码对scrollView进行形变(例如旋转和缩放),这个边缘效果也会自动出现(可能是Beta版的原因)!这对我的裁剪工具中影响极大🤬:

好在可以关闭这个边缘效果:

swift 复制代码
if #available(iOS 26.0, *) {
    scrollView.topEdgeEffect.isHidden = true
}

陆续更新...

发现一个写一个😇

相关推荐
Digitally43 分钟前
如何轻松地将大型音频文件从 iPhone 发送到不同的设备
ios·iphone
catchadmin2 小时前
PHP 现在可以零成本构建原生 iOS 和 Android 应用 NativePHP for Mobile v3 发布
android·ios·php
TheNextByte13 小时前
如何将照片从 iPhone 传输到三星?
ios·iphone
2501_915921433 小时前
不用 Xcode 上架 iOS,拆分流程多工具协作完成 iOS 应用的发布准备与提交流程
android·macos·ios·小程序·uni-app·iphone·xcode
Ron丶3 小时前
iOS 旧版本 App 下载方法汇总:如何获取历史版本 IPA(2026 仍有效)
windows·经验分享·macos·ios·电脑
晴天无痕3 小时前
ios OC 获取当前控制器
ios
pop_xiaoli1 天前
OC-实现下载单例类
ios·objective-c·cocoa·xcode
zhyongrui1 天前
SnipTrip 菜单 Liquid Glass 实现方案:结构、材质、交互与深浅色策略
ios·性能优化·swiftui·交互·开源软件·材质
zhyongrui1 天前
SnipTrip 不发烫的实现路径:局部刷新 + 合成缓存 + 峰值削减
ios·swiftui
晚霞的不甘1 天前
Flutter for OpenHarmony 实现 iOS 风格科学计算器:从 UI 到表达式求值的完整解析
前端·flutter·ui·ios·前端框架·交互