iOS 17新特性以及适配细节汇总

这篇具有很好参考价值的文章主要介绍了iOS 17新特性以及适配细节汇总。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、UIScrollView
增加了属性allowsKeyboardScrolling表示是否根据连接的物理键盘的方向键而滚动。
import UIKit

class ViewController: UIViewController {
    lazy var scrollView: UIScrollView = {
        let scrollView = UIScrollView(frame: CGRect(x: 0,
                                                    y: 0,
                                                    width: UIScreen.main.bounds.width,
                                                    height: UIScreen.main.bounds.width))
        let imageView = UIImageView(image: UIImage(named: "img"))
        scrollView.addSubview(imageView)
        scrollView.contentSize = imageView.bounds.size
        // iOS17新增,默认为true
        scrollView.isScrollEnabled = false
        return scrollView
    }()

    override func viewDidLoad() {
        super.viewDidLoad()

        view.addSubview(scrollView)
    }
}

2、applicationIconBadgeNumber
UIApplication 的applicationIconBadgeNumber属性被废弃,建议使用UNUserNotificationCenter.current().setBadgeCount()方法。

import UIKit
import UserNotifications

class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
    }

    override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
        // iOS17之后设置角标,需要先授权
        // UNUserNotificationCenter.current().setBadgeCount(10)
        UNUserNotificationCenter.current().setBadgeCount(10) { error in
            if let error {
                print(error)
            }
        }
    }
}

3、UIDocumentViewController
新增视图控制器,用于显示与管理本地或者云端文档。

import UIKit

class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
    }

    override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
        let documentViewController = UIDocumentViewController()
        documentViewController.openDocument { _ in
            print("打开文档")
        }
        present(documentViewController, animated: true)
    }
}

4、UIHoverStyle
UIView 增加了一个hoverStyle属性,可以设置鼠标移动到 UIView 之上的效果。

import UIKit

class ViewController: UIViewController {
    lazy var redView: UIView = {
        let view = UIView(frame: CGRect(x: 200, y: 200, width: 200, height: 200))
        view.backgroundColor = .red
        // iOS17新增UIHoverStyle,可以设置Hover的效果与形状(UIShape)
        let hoverStyle = UIHoverStyle(effect: .lift, shape: .capsule)
        // iOS17新增,鼠标移动到UIView之上的效果
        view.hoverStyle = hoverStyle
        return view
    }()

    override func viewDidLoad() {
        super.viewDidLoad()

        view.addSubview(redView)
    }
}

5、编译报错cfstring constant not pointer aligned

解决办法:Build Settings -> Other Linker Flags 加入-ld64

6、编译报错Sandbox:rsync.sanba deny(1) file-write-create xxx

使用 Xcode15 新建项目后,pod 引入部分第三方会报上面的错误
解决办法:Build Settings 搜索 sandbox,把 Build Options 中的 User Script Sandboxing改为 NO

7、编译报错UIGraphicsBeginImageContextWithOptions崩溃

参考链接:UIGraphicsBeginImageContext Deprecated文章来源地址https://www.toymoban.com/news/detail-709754.html

YYText使用时会崩溃在UIGraphicsBeginImageContextWithOptions

到了这里,关于iOS 17新特性以及适配细节汇总的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • iOS 17 适配 Xcode 15 问题

    iOS 17 适配 Xcode 15 问题

    在适配 iOS 17 + xcode 15时遇到的问题,记录一下。 1、 Could not build module ‘WebKit’ 解决方案: 选中不能编译的库的xcodeproj,在 Build Phrases - Compile Sources ,选中所有文件, Complier Flags 里删除 -DOS_OBJECT_USE_OBJC=0 可能是三方库的目标版本比较低,cocoapods兼容低版本自动加上了 - DOS_

    2024年02月08日
    浏览(13)
  • Xcode 15(iOS17)编译适配报错

    Xcode 15(iOS17)编译适配报错

    报错:No template named \\\'unary_function\\\' in namespace \\\'std\\\'; did you mean \\\'__unary_function\\\'?  解决: Xcode点击Pods点击Build Settings点击 Basic找到Apple Clang-Preprocessing下的Preprocessor Macros  添加:_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION

    2024年03月17日
    浏览(15)
  • iOS17.2正式版什么时候发布? 13大新功能细节抢先看

    iOS17.2正式版什么时候发布? 13大新功能细节抢先看

    苹果已经发布了针对开发者的iOS 17.2 Beta测试版,而iOS 17.2正式版预计会在2023年12月发,新版本给iPhone带来不少新功能,下面小编就带大家抢先了解iOS 17.2即将带来的13个新功能亮点细节。 1.手记Journal App上线 全新「手记」 Journal App终于要在iOS 17.2更新中正式上线,这是一款能够

    2024年02月05日
    浏览(35)
  • iOS16新特性 | 灵动岛适配开发与到家业务场景结合的探索实践

    作者:京东零售 姜海 灵动岛是苹果在iPhone 14 Pro和iPhone 14 Pro Max上首次提出的全新UI交互形式,创新性的让虚拟软件和硬件的交互变得更为流畅。当有来电、短信等通知时,灵动岛会变化形态,以便让用户能够更直观地接收到这些信息。 而在用户使用一些应用App,比如音乐,

    2023年04月12日
    浏览(12)
  • 苹果最新系统iOS 17的调试和适配方法 - Xcode 14.3.1 真机调试指南

    苹果最新系统iOS 17的调试和适配方法 - Xcode 14.3.1 真机调试指南

    最近苹果发布了iOS 17作为其最新操作系统版本,作为开发者,你可能需要了解如何在Xcode 14.3.1中进行真机调试和适配。本文将为你详细介绍步骤和注意事项。 I. 检查Xcode版本 在开始之前,确保你已经安装了Xcode 14.3.1或更高版本。你可以在Xcode菜单中选择\\\"关于Xcode\\\"来查看具体版

    2024年01月17日
    浏览(18)
  • PostgreSQL 17新特性:PL/pgSQL支持数组%TYPE以及%ROWTYPE

    正在开发中的 PostgreSQL 17 即将增加一个新功能:PL/pgSQL 支持定义伪类型 %TYPE以及%ROWTYPE 数组。 当我们使用 PL/pgSQL 编写存储过程或者函数时,可以定义不同类型的变量。例如: 在此基础上,我们可以通过 %TYPE 以及 %ROWTYPE 定义伪类型,例如: 变量 user_id 的类型基于字段 users

    2024年01月25日
    浏览(12)
  • ios 刘海屏,灵动岛的适配以及遇到一些坑点

    ios 刘海屏,灵动岛的适配以及遇到一些坑点

    最近再改公司内部移动端 ios 安全区域适配的问题,所谓知己知彼百战百胜,所以深入的学习了一下 安全区域适配有关的知识 头部标题区域被灵动岛遮挡,标题被遮挡,返回按钮点不到 底部被遮挡 看一下官方对安全区域[1]的定义。 视图中未被导航栏、选项卡栏、工具栏或视

    2024年02月04日
    浏览(26)
  • UI学习——UIScrollView(滚动视图)

    UI学习——UIScrollView(滚动视图)

    UIScrollView可以用来展示超出屏幕大小的内容,并且可以通过手势来滚动显示这些内容。 需要注意的是CGRectMake和CGSizeMake的参数根据实际情况来设置,我使用iPhone14pro模拟运行,所以参数中的宽度为394,高度为852。 运行结果如下: 我们跳转到UIScrollViewDelegate协议可看到如下方法

    2024年02月10日
    浏览(7)
  • 回炉与剖析C++封装特性 - 重新认识C++,完满呈现全部内部细节

    回炉与剖析C++封装特性 - 重新认识C++,完满呈现全部内部细节

    💛前情提要💛 本章节是 C++ 的 深度剖析封装细节特性 的相关知识~ 接下来我们即将进入一个全新的空间,对代码有一个全新的视角~ 以下的内容一定会让你对 C++ 有一个颠覆性的认识哦!!! 以下内容干货满满,跟上步伐吧~ 作者介绍: 🎓 作者: 热爱编程不起眼的小人物🐐

    2023年04月13日
    浏览(8)
  • 【C++ 17 新特性 】拥抱现代C++:深入C++17特性以获得更高效、更安全的代码

    【C++ 17 新特性 】拥抱现代C++:深入C++17特性以获得更高效、更安全的代码

    C++17是C++编程语言的一个重要版本,于2017年12月正式发布。它在C++11和C++14的基础上继续完善和扩展C++语言特性和标准库组件。C++17的主要目标是进一步提高C++程序的性能、可用性和安全性,同时引入一些新的编程范式,使C++编程更加现代化和高效。 C++17包含许多新特性,如

    2024年02月13日
    浏览(8)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包