Ios WidgetKit自定义意图参数选择
我正在用WidgetKit、SwiftUI等为iOS中的应用程序构建一个小部件。 我已经创建了一个自定义意图和自定义对象以在应用程序中使用,当点击Ios WidgetKit自定义意图参数选择,ios,swiftui,widgetkit,Ios,Swiftui,Widgetkit,我正在用WidgetKit、SwiftUI等为iOS中的应用程序构建一个小部件。 我已经创建了一个自定义意图和自定义对象以在应用程序中使用,当点击“编辑小部件”时,我从UserDefaults中获取一个自定义项目列表 问题是,我是否可以自定义iOS向我显示的第二个视图的外观以及项目列表等 这就是我所说的观点: 环顾四周,我发现: 这给了我很多很好的暗示,但对我想要达到的目标却一无所知 在视频中,他们展示了以下内容: 这将是相同的视图,但有一些自定义 我的最终目标是删除搜索栏。 多谢各位 为您
“编辑小部件”
时,我从UserDefaults
中获取一个自定义项目列表
问题是,我是否可以自定义iOS向我显示的第二个视图的外观以及项目列表等
这就是我所说的观点:
环顾四周,我发现:
这给了我很多很好的暗示,但对我想要达到的目标却一无所知
在视频中,他们展示了以下内容:
这将是相同的视图,但有一些自定义
我的最终目标是删除搜索栏。
多谢各位 为您的
意图创建INObjectCollection
项时,您可以设置:
标识符
显示
发音提示
副标题
图像
以下是如何将subtitle
和image
添加到inoobjectcollection
项的示例:
class IntentHandler: INExtension, TestIntentHandling {
func provideItemsOptionsCollection(for intent: TestIntent, with completion: @escaping (INObjectCollection<Item>?, Error?) -> Void) {
let items: [Item] = [
.init(
identifier: "1",
display: "SoupPay Credit",
subtitle: "$248.20",
image: nil
),
.init(
identifier: "2",
display: "SoupPay Titanium Credit",
subtitle: "$602.01",
image: nil
),
.init(
identifier: "3",
display: "Apple Card",
subtitle: "$17.28",
image: nil
),
.init(
identifier: "4",
display: "Other Card",
subtitle: "$123.32",
image: INImage(url: URL(string: "https://upload.wikimedia.org/wikipedia/commons/thumb/e/ef/Stack_Overflow_icon.svg/200px-Stack_Overflow_icon.svg.png")!)!
),
]
completion(INObjectCollection(items: items), nil)
}
}
class IntentHandler:不张力、测试{
func provideItemsOptionsCollection(用于意图:测试内容,完成:@escaping(INObjectCollection?,Error?)->Void){
出租项目:[项目]=[
.init(
标识符:“1”,
显示:“SoupPay信用”,
副标题:“248.20美元”,
图片:无
),
.init(
标识符:“2”,
显示:“SoupPay钛信用”,
副标题:“602.01美元”,
图片:无
),
.init(
标识符:“3”,
显示:“苹果卡”,
副标题:“$17.28”,
图片:无
),
.init(
标识符:“4”,
显示:“其他卡”,
副标题:“$123.32”,
图像:INImage(url:url(字符串):https://upload.wikimedia.org/wikipedia/commons/thumb/e/ef/Stack_Overflow_icon.svg/200px-Stack_Overflow_icon.svg.png")!)!
),
]
完成(INObjectCollection(项:项),无)
}
}
当您为您的意图创建inoobjectcollection
项目时,您可以设置:
标识符
显示
发音提示
副标题
图像
以下是如何将subtitle
和image
添加到inoobjectcollection
项的示例:
class IntentHandler: INExtension, TestIntentHandling {
func provideItemsOptionsCollection(for intent: TestIntent, with completion: @escaping (INObjectCollection<Item>?, Error?) -> Void) {
let items: [Item] = [
.init(
identifier: "1",
display: "SoupPay Credit",
subtitle: "$248.20",
image: nil
),
.init(
identifier: "2",
display: "SoupPay Titanium Credit",
subtitle: "$602.01",
image: nil
),
.init(
identifier: "3",
display: "Apple Card",
subtitle: "$17.28",
image: nil
),
.init(
identifier: "4",
display: "Other Card",
subtitle: "$123.32",
image: INImage(url: URL(string: "https://upload.wikimedia.org/wikipedia/commons/thumb/e/ef/Stack_Overflow_icon.svg/200px-Stack_Overflow_icon.svg.png")!)!
),
]
completion(INObjectCollection(items: items), nil)
}
}
class IntentHandler:不张力、测试{
func provideItemsOptionsCollection(用于意图:测试内容,完成:@escaping(INObjectCollection?,Error?)->Void){
出租项目:[项目]=[
.init(
标识符:“1”,
显示:“SoupPay信用”,
副标题:“248.20美元”,
图片:无
),
.init(
标识符:“2”,
显示:“SoupPay钛信用”,
副标题:“602.01美元”,
图片:无
),
.init(
标识符:“3”,
显示:“苹果卡”,
副标题:“$17.28”,
图片:无
),
.init(
标识符:“4”,
显示:“其他卡”,
副标题:“$123.32”,
图像:INImage(url:url(字符串):https://upload.wikimedia.org/wikipedia/commons/thumb/e/ef/Stack_Overflow_icon.svg/200px-Stack_Overflow_icon.svg.png")!)!
),
]
完成(INObjectCollection(项:项),无)
}
}
谢谢您的回答!完全错过了。你也知道如何自定义颜色吗?@MajinDageta我没有试过,但我假设你需要设置小部件的accentColor
(可以在Assets.xcsets
中更改)。谢谢你的回答!完全错过了。您也知道如何自定义颜色吗?@MajinDageta我没有尝试过,但我假设您需要设置小部件的accentColor
(可以在Assets.xcsets
中更改)。