-
Notifications
You must be signed in to change notification settings - Fork 560
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(iOS): transparent blur type #513
base: master
Are you sure you want to change the base?
Conversation
…ckground to transparent
…ewNativeComponent.ts
Add transparent blur type to example
Maybe also closes #407 |
This is great and exactly what we are looking for as well, as the dark type is darkening too much! Would be great if this can get merged! 🤘🏼 |
@Titozzz Sorry for pinging you, but do you have some spare time to review this PR? It's something we and other really need. |
This solution is exactly what I'm looking for! I have also tested it locally on the project that I'm working on and it works perfectly there. @Kureev please, we need this PR to be accepted ASAP! |
@Parveshdhull Hey! Thanks a lot for the kind words! I totally can reproduce it. For example below purple and orange appears more vibrant. And as you can see - there is some glow effect with gradient from more saturated to less. "Right purple" somewhere in the middle 😅 So that's how it works, I guess there's nothing I can do.
|
@Parveshdhull I've got the same problem as yours. Did you manage to fix it? |
There might be a new approach for adding blur using react-native-skia which is actively maintained by Shopify. But I have not tried it yet. It's worth a try and it might not have these bugs. https://shopify.github.io/react-native-skia/docs/backdrops-filters |
No, still no luck. I skipped this for now and created an issue to track it. status-im/status-mobile#14903 |
This looks promising, Thank you |
Shopify/react-native-skia#324 (comment) It doesn't seem to be possible right now but it might be worth to get in contact with the maintainers. It's probaly something the community can contribute. |
@Parveshdhull @KirillGudkov Is there something that allows us to "de-saturate" a particular view? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Working fine please merge
So when will this be merged? 😬 or do I have to switch to another library? |
Merge when? |
I noticed that it works well on some colors, but on some, it still doesn't work. |
Even if it's not working with some colors, could be merged with "transparent" as a beta option? |
@@ -131,6 +131,7 @@ - (void)setReducedTransparencyFallbackColor:(nullable UIColor *)reducedTranspare | |||
|
|||
- (UIBlurEffectStyle)blurEffectStyle | |||
{ | |||
if ([self.blurType isEqual: @"transparent"]) return UIBlurEffectStyleDark; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for your good contribution on important issues.
I also want this feature with white background, so I used your changed code and just fixed this line as
if ([self.blurType isEqual: @"transparent"]) return UIBlurEffectStyleLight;
.
However it shows dark background and not working.. Do you have any idea about this problem?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hm. I've just tested both cases (dark and light backgrounds) and everything seems to be working great. No changes in the native code 🤔
1 | 2 |
---|---|
Code is just like this. It doesn't depend on theme or whatever:
<BlurView
blurAmount={7}
blurType={"transparent"}
/>
Please make sure you're using it right. If the problem still exists, could you elaborate a bit? What kind of effect are you trying to achieve? The image will do
Not sure why this can't be merged ASAP... |
I made patch for this pr. You can apply this feature temporary until merge this pr. There is a tutorial
|
For those who's trying to achieve fully transparent blur that doesn't alter underlying views (including saturation), I've publushed repo (iOS only) that can serve as an example. But be cautious, it uses Apple's private APIs to manipulate CAFilters: use it at your own risk as it can potentially lead to App Store rejection. |
Probably you might be interested on reading this this in case you're not applying any strategy to it yet |
Hi there 👋 hope you're doing well
I've been looking for a way to implement Twitter-like navbar:
and it seems like it's not possible with current blur types.
So here's what I came up with: transparent blur type applies
UIBlurEffectStyleDark
(it doesn't matter dark or light) style and overritesbackgroundColor
property for each subview to transparent color. Works the same regardless of the selected system color schemeProbably it solves #474 and #465
Tested both
BlurView
andVibrancyView
on iOS simulator including example project.Update
README.md
and example