You can also access the tip through the configuration. I think you can simply add a button to your tip layout that invalidates the tip when tapped:
Button(action: {
configuration.tip.invalidate(reason: .tipClosed)
}, label: {
Image(systemName: "xmark")
})
The order of the color channels in a CGImage depends on its alphaInfo and bitmapInfo. The default format for 8-bit images is actually BGRA (instead of RGBA) in many places. Where do you get the image from? What's its bitmapInfo and does it differ between iOS 16 and 17?
From the comment in the header file:
A NSNumber that specifies the maximum memory footprint (in megabytes) that the CIContext allocates for render tasks. Larger values could increase memory footprint while smaller values could reduce performance.
It basically sets how much memory Core Image is allowed to use (roughly) during rendering. From what I observed, the default seems to be 256 MB.
You can also access the tip through the configuration. I think you can simply add a button to your tip layout that invalidates the tip when tapped:
Button(action: {
configuration.tip.invalidate(reason: .tipClosed)
}, label: {
Image(systemName: "xmark")
})
The order of the color channels in a CGImage depends on its alphaInfo and bitmapInfo. The default format for 8-bit images is actually BGRA (instead of RGBA) in many places. Where do you get the image from? What's its bitmapInfo and does it differ between iOS 16 and 17?
From the comment in the header file:
A NSNumber that specifies the maximum memory footprint (in megabytes) that the CIContext allocates for render tasks. Larger values could increase memory footprint while smaller values could reduce performance.
It basically sets how much memory Core Image is allowed to use (roughly) during rendering. From what I observed, the default seems to be 256 MB.