IOS 中什么是 Today Widget?如何使用?代码举例讲解

Today Widget 是 IOS 上的小部件,可以在 Notification Center 和锁屏界面显示信息和交互。

使用 Today Widget 的基本步骤:

  1. 在 Xcode 中选择 File -> New -> Target… 创建一个 Today Widget 扩展。
  2. 选择 Widget 的尺寸,一般选择 Medium 或 Large。
  3. 会自动创建一个 TodayViewController.swift 文件,我们需要在其中设计 Widget 的界面和交互。
  4. 使用 UIView、UILabel、UIButton 等组件来显示内容。
  5. 实现 widgetPerformUpdate(completionHandler:) 方法来更新 Widget 数据。
  6. 在 Info.plist 设置 Widget 的 bundle identifier。
  7. 运行项目,Widget 会自动安装到设备上。用户可以在 Notification Center 中打开和关闭 Widget。
  8. 更新 Widget 数据时调用 WidgetCenter.shared.reloadTimelines(ofKind: “com.your.bundleID”) 来刷新界面。

下面是一个简单的示例:
TodayViewController.swift:

swift
import UIKit
import NotificationCenter

class TodayViewController: UIViewController, NCWidgetProviding {

    @IBOutlet weak var label: UILabel!

    override func viewDidLoad() {
        super.viewDidLoad()
        label.text = "Welcome to Today Widget!"
    }

    func widgetPerformUpdate(completionHandler: (@escaping (NCUpdateResult) -> Void)) {
        label.text = "Updated at \(Date().description)"
        completionHandler(NCUpdateResult.newData)
    }
}

Info.plist:
xml 
<key>CFBundleIdentifier</key>
<string>com.example.TodayWidget</string>

通过 Today Widget,我们可以为用户提供重要信息的快速查看和小交互。它增强了 App 的体验,在项目开发中推荐使用 Today Widget。