小编che*_*iok的帖子

iOS 小部件始终在模拟器或设备上显示占位符

我制作了一个非常基本的 iOS Widget 扩展(在 iOS 16 上):

struct TotoView: View 
    var body: some View {
        VStack {
            Text("Toto")
                .font(.headline)
        }
    }
} 

struct TotoWidget: Widget {
    var body: some WidgetConfiguration {
        IntentConfiguration(kind: "myKind", intent: ViewTodayIntent.self, provider: TimelineProvider()) { entry in
        TotoView(entry: entry)
    }
    .configurationDisplayName("Today work")
    .description("Show today work sessions")
    .supportedFamilies([.systemSmall, .systemMedium])
    }
}
Run Code Online (Sandbox Code Playgroud)

在 SwiftUI Canvas 预览中,我可以看到“Toto”文本。

在 SwiftUI 画布中

但是当我选择小部件目标并在模拟器中运行时,我只有占位符代替文本。知道为什么吗?请注意,不仅文本被占位符替换,而且图像(systemName:)

我认为这个问题似乎与 IntentConfiguration 有关(因为 StaticConfiguration 一切正常)

我使用的是 xCode 14。

在模拟器中

ios widgetkit

5
推荐指数
1
解决办法
742
查看次数

WatchOS 和 iOS 新的 .accessoryInline Widget 不显示所有内容

我正在尝试使用新类型创建一个 WatchOS 扩展.accessoryInline,但我不明白为什么我不能在主水平堆栈中拥有多个堆栈。

请参阅以下注释代码和 WatchOS 模拟器中的不可见堆栈

在此输入图像描述

struct WidgetInlineView : View {
    var entry: BurnoutTimelineEntry
    
    var body: some View {
        HStack(spacing: 5) {
            HStack {
                Image("widgetWork")
                Text(entry.exchange.todayWork.durationString)
            }
            
            HStack {
                Image("widgetPause")
                Text(entry.exchange.todayPause.durationString)
            }
        }
    }
}

struct WidgetInline: Widget {
    var body: some WidgetConfiguration {
        StaticConfiguration(kind: "MyKind", provider: BurnoutTimelineProvider()) { entry in
            WidgetInlineView(entry: entry)
        }
        .configurationDisplayName("My Widget")
        .description("This is an example widget.")
        .supportedFamilies([.accessoryInline])
    }
}

struct WidgetInline_Previews: PreviewProvider {
    static var previews: some View {
        WidgetInlineView(entry: BurnoutTimelineEntry(date: Date()))
            .previewContext(WidgetPreviewContext(family: …
Run Code Online (Sandbox Code Playgroud)

ios widgetkit watchos

0
推荐指数
1
解决办法
806
查看次数

标签 统计

ios ×2

widgetkit ×2

watchos ×1