2014-12-27 82 views
1

下面的swift代碼在iOS8設備和模擬器上工作正常,但在iOS7模擬器上,在日誌中給出(lldb)EXC_BAD_ACCESS(代碼= 1,地址= 0.x20)錯誤。iOS7中的UIVisualEffectView

var blurEffectView = UIVisualEffectView(effect: UIBlurEffect(style: UIBlurEffectStyle.Light)) 

編輯:由於該類不iOS7用,我已經把這個聲明中的if塊只運行它,如果IOS版本是8+,但現在它拋出懸而未決的標識符錯誤elsehwere的代碼,我我試圖消除這種模糊效果圖(儘管,我檢查,如果它被創造):

if iosVersion >= 8 { 
    blurEffectView.removeFromSuperview() 
} 
+0

NS_CLASS_AVAILABLE_IOS(8_0)@interface UIVisualEffectView – gabbler 2014-12-27 16:22:15

+0

你的意思是,這個類不適用於iOS7?有沒有其他方法可以使用? – Kashif 2014-12-27 16:32:08

+0

是的,它不適用於iOS7,有蘋果示例代碼中的UIImage + BlurEffect類,請參閱http://stackoverflow.com/questions/18927178/standard-ios-7-blur-implementation – gabbler 2014-12-27 16:36:00

回答

1

由@gabbler導向的解決方案是把它聲明可選的,因爲AnyObject。然後有條件地(如果iOS8)將其更改爲UIVisualEffectView。