Releases: EmergeTools/Pow
1.0.6: The Xcode Blues
- This release merges in #83 to allow compilation when using Xcode 26.4.
1.0.5: Let's Go For A Spin
1.0.4: Wiggle and Shake your TV
This release implements #62, #64, #66, and fixes #30. Those are just numbers though, what's in this bad boy?
- You now have more control over the wiggle and shake effect by providing a custom
phaseLength(CGFloat)for theWiggleRateandShakeRatebeyond the built indefaultandfast. - Pow now supports tvOS thanks to @McNight.
- And of course thank you for the documentation improvements @nickkohrn.
1.0.3: Pow's Greatest Hit(s Testing)
This release fixes a minor regression that occurred when open-sourcing Pow, now allowsTouches(false) is properly set on the GlowEffect.
1.0.2: Any Size You Like
This release addresses #46, where Pow wouldn't compile on Xcode 14 due to the ControlSize.extraLarge property introduced in iOS 17/macOS 14.
1.0.1: Where There's Smoke There's Fire
This version fixes (#37), where the smoke effect which was crashing due to missing assets.
Remember kids, don't smoke, but if you must then only do it by using Pow. 🚭
1.0.0: Power To The People
Pow is now free and open source. Thank you @robb, @kasper-lahti, and the whole team at @EmergeTools for making this possible.
Going forward the Pow repository can now be found at https://github.com/EmergeTools/Pow.
If you need assistance upgrading to Pow 1.0.0, we've created a helpful guide to help you through the process.
0.3.1: Glow and Behold
New in 0.3.1
- Fixes an issue where repeat effects would unintentionally trigger when a view (re-)appears.
- Marks Pow as safe for application extensions.
- Reduce the amount of purchase reminders when running Pow in Xcode Previews.
- Fix glow effect preventing hit testing #29
See 0.3.0 for information about Change Effects.
0.3.0: Bool Me Over
0.3.0.mov
New in 0.3.0
Conditional Effects
Pow 0.3.0 introduces a new category of conditional effects that can be enabled or disabled through a boolean flag.
myView
.conditionalEffect(.smoke, condition: isEnabled)
myView
.conditionalEffect(.pushDown, condition: isEnabled)Existing Change Effects can be used using the repeat modifier
myView
.conditionalEffect(.repeat(.jump(height: 100), every: 2), condition: hasUnreadMessages)New Effects
Smoke
A Conditional Effect of smoke coming out the view.
Screen.Recording.2023-03-29.at.16.43.49.mov
myView
.conditionalEffect(.smoke, condition: isEnabled)Glow
Emits a glow whenever a value changes.
glow.mov
myView
.changeEffect(.glow(color: .blue, radius: 50), every: 1.5), value: count)Pulse
Emits a shape from the view.
pushdown.mov
let shape = RoundedRectangle(cornerRadius: 16, style: .continuous)
myView
.conditionalEffect(.pushDown, condition: isPressed)
.changeEffect(.pulse(shape: shape, drawingMode: .stroke, count: 3).delay(0.1), value: value)Push Down
Scales and darkens a view to give it a recessed appearance.
pushdown.mov
myView
.conditionalEffect(.pushDown, condition: isPressed)
.changeEffect(.pulse(shape: shape, drawingMode: .stroke, count: 3).delay(0.1), value: value)
Wiggle
Shakes a view back and forth.
Screen.Recording.2023-03-29.at.16.58.50.mov
myView
.conditionalEffect(.repeat(.wiggle(rate: .fast), every: 2), condition: isCalling)Updated Effects
- The
blurtransition now has a optional radius modifier. - The
vanishtransition now offers the ability to disable the increased brightness effect. - The
spinChange Effect now takes an additionalrateparameter that allows for faster spinning. - The
pingChange Effect has been deprecated in favor ofpulsewith aPulseDrawingModeof.fill. - The
anviltransition is now less susceptible to its particles clipping.