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

import UIKitclass 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 UIKitimport UserNotificationsclass ViewController: UIViewController {    override func viewDidLoad() {        super.viewDidLoad()    }    override func touchesBegan(_ touches: Set, with event: UIEvent?) {        // iOS17之后设置角标,需要先授权        // UNUserNotificationCenter.current().setBadgeCount(10)        UNUserNotificationCenter.current().setBadgeCount(10) { error in            if let error {                print(error)            }        }    }}

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

import UIKitclass ViewController: UIViewController {    override func viewDidLoad() {        super.viewDidLoad()    }    override func touchesBegan(_ touches: Set, with event: UIEvent?) {        let documentViewController = UIDocumentViewController()        documentViewController.openDocument { _ in            print("打开文档")        }        present(documentViewController, animated: true)    }}

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

import UIKitclass 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

YYText使用时会崩溃在UIGraphicsBeginImageContextWithOptions

a.class1 { text-decoration: underline; color: #0378bb } a.class1:hover { color: #900b09 } #div_gxy .b { float: left; padding: 6px; } #div_gxy .b2 { padding-top: 0px; } #div_gxy .b1 img { width: 502px; } #div_gxy .b2 img { width: 800px; } #div_gxy .b3 .s1 { font-size: 16px; font-weight: 900; display: block; margin-bottom: 10px; } #div_gxy .b3 .s2 { display: block; } 分享链接: 工作之余,开了一个淘宝小店,分别销售日常必备生活用品,期待您的光临!点击下图,跳转店铺首页!