How did Vesper show users wallpaper without UIApplicationIsOpaque key?

后端 未结 1 1914
忘掉有多难
忘掉有多难 2021-02-07 15:29

An app named Vesper was updated for iOS 7 and shows the user\'s wallpaper on iOS 7. I have found that using UIApplicationIsOpaque key and UIBackgroundStyleLightBlur can show the

1条回答
  •  再見小時候
    2021-02-07 15:53

    Brent Simmons has written a blog post explaining it. It seems like they didn't use UIApplicationIsOpaque key.

    The Sidebar

    In 1.0 our sidebar menu included a bit of top and bottom padding to blend into the black of the status bar and — along with a touch of shadow from the list view — give a sense of depth, as if the sidebar were always sitting behind the list view. iOS 7′s unified status bar meant that we didn’t have that same black to play against, so we had to rethink our approach. We started looking at Apple’s built-in iOS 7 apps for inspiration, and two things jumped out at us: Safari and Passbook.

    Over in Safari, when you tap into open pages view you can see your own homescreen wallpaper blurred through in the background. It’s subtle, but it’s a very nice touch.

    We loved the idea and wanted to try it out in our sidebar to see how it would look. Because Apple doesn’t provide an API for live blurring of images, we managed to fake our way around it by dropping a giant live-blur-enabled toolbar behind the sidebar view. It looked fantastic on an iPhone 5, but live blur isn’t supported at all on older phones, where the sidebar fell back to using the unblurred home screen.

    Meanwhile, Passbook’s passes float over an unblurred (but darkened) homescreen, making them feel more like widgets floating over the wallpaper like apps in the multi-tasking view. We decided to try that approach and see what worked.

    We went through a ton of iteration to find the right opacity for the tinted window view, and for the selected state. Whatever we did would need to look good regardless of the user’s wallpaper, and the effect should be pleasant but not distracting. This is, after all, a menu. To keep things weighted appropriately with the effect, we also chose not to iOS 7-ify the sidebar icons. They should feel a little hefty to stand out.

    What started as an “oh crap, what are we going to do” design problem turned into our favorite view in the entire app. Not only was a it neat to look at (especially with the sense of depth given by the homescreen parallax effect), but it gave Vesper a human touch. When you open the sidebar, you’re seeing your own wallpaper. Something you chose. It felt personal. Moreover, it felt very true to iOS 7.

    Unfortunately, we didn’t realize until too late that the API needed to pull off the effect is undocumented by Apple. We’ve filed the appropriate radars and made requests to people at Apple. Our hope is that the API becomes available soon and we can return to what we think is a pretty great design.

    0 讨论(0)
提交回复
热议问题