1

Я пытаюсь добиться перехода моего UIViewController, где очень просто слегка масштабируется и размывается, так что он сидит в фоновом режиме. Я рассмотрел множество решений, но я не могу найти ничего вокруг размытия.Пользовательский переход UIViewController с размытием

В настоящее время я просто играю, беря экран контроллера родительского представления и оживляя это в ребенке.

приложения, такие как Tweetbot 3 и Pinterest заметные из них, которые делают это, увидеть скриншот здесь, именно то, что я имею в виду:

enter image description here

я борюсь с ним плавно размытости. Любые предложения о том, как добиться этого эффекта?

ответ

1

IOS 7 Решение:

Вы можете отобразить его в UIImageView и место на вершине других UIViews. Раньше я использовал renderInContext в CALayer.

UIGraphicsBeginImageContext(self.view.bounds.size); 
[self.view drawViewHierarchyInRect:self.view.bounds]; 
UIImage *blurImg = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 

Как только вы снимаете снимок экрана UIView, применяйте эффект размытия. К сожалению, пока еще нет открытого API для эффекта размытия, но у Apple есть пример реализации в примере кода. Это категория для UIImage. Пожалуйста, найдите образец кода в документации Xcode. После добавления файлов категория UIImage в ваш проект, вы можете размыть изображение, как это:

blurImg = [blurImg applyDarkEffect]; 

Перед прошивкой 7 Решения: https://github.com/tomsoft1/StackBluriOS

UIImage *blurImg = [originalImg stackBlur:radius]; 
+1

Да, я видел много различных решений для размывания изображение, включая собственный код Яблока. Однако я столкнулся с другим вопросом. При размывании UIImage размытие не распространяется за пределы изображения, что означает, что вы все равно получаете жесткий край. –

Смежные вопросы