2016-06-03 2 views
0

Я разрабатываю программное обеспечение для iOS, используя IPAD 3 (MD368TY/A) в качестве оборудования для тестирования. Я пытаюсь создать эффект размытия на фоновое изображение, но я получаю этот результат:Как сделать UIBlurEffect, который работает на IPAD 3

enter image description here

«правильное» должно быть:

enter image description here (результат достигается с помощью Iphone 5S имитатор)

Мой код:

import UIKit 

class ProfileMgmtViewController: UIViewController { 

    @IBOutlet weak var bgImageContainerView: UIView! 
    @IBOutlet weak var userBgImg: UIImageView! 
    @IBOutlet weak var userImg: UIImageView! 

    override func viewDidLoad() { 
    ... 

    userBgImg.backgroundColor = UIColor(patternImage: userImg.image!) 

    let blurEffect = UIBlurEffect(style: .Light) 
    let blurView = UIVisualEffectView(effect: blurEffect) 
    blurView.frame = userBgImg.bounds 
    print (userBgImg.bounds) 
    userBgImg.addSubview(blurView) 
    ... 

Я читал, что эта версия не IPAD поддерживает эффект размытия. Это правда? Есть какой-то способ сделать эффект размытия здесь?

ответ

1

Это правда, от этой WWDC сессии: http://asciiwwdc.com/2014/sessions/419

Таким образом, и вновь на какие устройства мы не размываются, и что мы только делаем колеровки на IPad 2 и IPad 3-го поколения, мы просто примените оттенок , и мы пропустим шаги размытия.

На iPad 4-го поколения, iPad Air, iPad Mini, iPad Mini с сетчаткой Дисплей, iPhone и iPod touch мы делаем как размытие, так и тонирование.

Эффект размытия очень дорог, поэтому пользовательский интерфейс может быть легко привязан к GPU, поэтому эффект размытия отключен на более ранней версии iPad или iPhone. Как я знаю, здесь нет способа сделать эффект размытия.

В качестве альтернативы, вы можете detect if a device support Blur effect и сделать что-то соответствующим образом.

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