Post

Replies

Boosts

Views

Activity

Reply to TipKit: Change color of TipView close button?
Yes, thanks, I did mention that I created a TipViewStyle as a workaround. What I was hoping was that there might be a way to do this with a method on the default TipView, similar to tipBackground or tipCornerRadius. It seems like an oversight that you can change the background color of the tip and change the color of the text and any icon, but not the color of the close button.
Jun ’24
Reply to TipKit: "The filter function is not supported in this rule."
Just to follow up on this a bit, I did find that Apple apparently changed semantics since the WWDC video was made, and they introduced a DonationTimeRange structure that you can use like this: #Rule(Self.viewedDetails) { $0.donations .donatedWithin(.days(5)) .count > 0 Unfortunately, this doesn't provide a way to achieve what I want for one of my rules, which is to determine if the user has been using the app for at least a calendar day. You might think that you could construct an expression comparing the count of two .donatedWithin ranges: #Rule(Self.viewedDetails) { $0.donations.donatedWithin(.weeks(52)).count > $0.donations.donatedWithin(.days(1)).count But no, you can't. This doesn't work because the #Rule macro explicitly requires a count comparison. If you try to write it as a raw predicate expression, it will compile but assert at runtime. So, at this point, I've given up trying to write the rule that I wanted to write. But perhaps someone will see the question and point out something that I've missed. Or perhaps Apple will see the question and understand that .donatedWithin doesn't meet everyone's needs.
May ’24
Reply to TipKit: "The filter function is not supported in this rule."
@available(iOS 17, *) struct DetailsTappableItemsTip: Tip { static let viewedDetails: Event = Event(id: "viewedDetails") var title: Text { Text("Learn More About This") } var message: Text? { Text("Tip text here.") } var image: Image? { Image(.icInfo) } var rules: [Rule] { #Rule(Self.viewedDetails) { $0.donations .filter { $0.date < Date.now.addingTimeInterval(-1 * 60 * 60 * 24) } .count > 0 } } }
May ’24