UIDocumentViewController
新增视图控制器,用于显示与管理本地或者云端文档。
代码语言:javascript复制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)
}
}
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)
}
}
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)
}
}
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)
}
}
}
}