您好,登錄后才能下訂單哦!
/*
FXBlurView屬性
@property (nonatomic, getter = isBlurEnabled) BOOL blurEnabled;
這個屬性切換為個體FXBlurView實例模糊了。模糊是默認啟用。注意,如果您使用+ setBlurEnabled方法禁用模糊那將會覆蓋該設置。
@property (nonatomic, getter = isDynamic) BOOL dynamic;
這個屬性控制是否FXBlurView更新動態,或者只有一次當視圖添加到它的父視圖。默認值為YES。注意,如果動態設置為不,你仍然可以迫使視圖更新通過調用setNeedsDisplay或updateAsynchronously:completion:完成。動態模糊極其cpu密集型任務,因此你應該禁用動態視圖立即執行一個動畫之前,以避免卡頓。然而,如果你有多個FXBlurViews屏幕上那么簡單的禁用更新使用setUpdatesDisabled方法而不是設置動態屬性。
@property (nonatomic, assign) NSUInteger iterations;
模糊迭代的數量。更多的迭代改進了但質量降低了性能。默認為2的迭代。
@property (nonatomic, assign) NSTimeInterval updateInterval;
這個控件之間的時間間隔(以秒為單位)連續更新當FXBlurView在動態模式下操作。這個默認為0,這意味著FXBlurView將盡快更新。這收益最好的幀速率,但也很耗CPU, 這可能導致應用程序的其他性能降低,尤其是在舊設備。要實現這一點,試著增加updateInterval的數值。
@property (nonatomic, assign) CGFloat blurRadius;
這個屬性控制模糊效果的半徑(點)。默認為40點的半徑,這是類似于iOS 7模糊效果。
@property (nonatomic, strong) UIColor *tintColor;
這在一個可選的色調顏色應用于FXBlurView。顏色的RGB分量將混合模糊圖像,導致溫和的色彩。不同色彩的強度效應,使用光明或黑暗的顏色。對tintColor透明度(alpha)的設置會被忽略。如果您不希望應用色彩,將這個值設置為零或(用戶界面顏色clearColor]。請注意,如果您正在使用Xcode 5以上,FXBlurViews接口中創建默認構建器將有一個藍色的色調。
@property (nonatomic, weak) UIView *underlyingView;
這個屬性指定視圖FXBlurView將示例創建模糊效果。如果設置為零(默認),這將是模糊視圖的父視圖本身,但你可以重寫它如果你需要的話。
*/
FXBlurView是UIView的子類,它實現毛玻璃效果的原理其實就是覆蓋上一層FXBlurView的實例對象。
- (void)viewDidLoad {
[super viewDidLoad];
UIImageView * p_w_picpathView = [[UIImageView alloc] initWithFrame:self.view.bounds];
p_w_picpathView.p_w_picpath = [UIImage p_w_picpathNamed:@"Default-Port-hd47"];
[self.view addSubview:p_w_picpathView];
FXBlurView * aview = [[FXBlurView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
aview.tintColor = [UIColor whiteColor]; //前景顏色
aview.blurRadius = 20.0; //模糊半徑
aview.dynamic = YES; //動態改變模糊效果
[self.view addSubview:aview];
FXBlurView * bview = [[FXBlurView alloc] initWithFrame:CGRectMake(0, 120, 100, 100)];
bview.tintColor = [UIColor whiteColor]; //前景顏色
bview.blurEnabled = YES; //是否允許模糊,默認YES
bview.blurRadius = 10.0; //模糊半徑
bview.dynamic = YES; //動態改變模糊效果
bview.iterations = 2; //迭代次數:
bview.updateInterval = 2.0; //更新時間(不確定具體功能)
/*
blurRadius = 1.0 && dynamic = 100 的效果和 blurRadius = 10.0 && dynamic = 1的效果大致相同
*/
[self.view addSubview:bview];
FXBlurView * cview = [[FXBlurView alloc] initWithFrame:CGRectMake(150, 0, 200, 200)];
cview.blurRadius = 20.0;
cview.tintColor = [UIColor whiteColor];
[self.view addSubview:cview];
}
/////////////////////////////////////////
使用的代碼片段:
class LeftViewController: UIViewController,UITableViewDataSource,UITableViewDelegate {
var backgroundImageView:UIImageView?
var frostedView = FXBlurView()
fileprivate var _tableView :UITableView!
fileprivate var tableView: UITableView {
get{
if(_tableView != nil){
return _tableView!;
}
_tableView = UITableView();
_tableView.backgroundColor = UIColor.clear
_tableView.estimatedRowHeight=100;
_tableView.separatorStyle = UITableViewCellSeparatorStyle.none;
regClass(self.tableView, cell: LeftUserHeadCell.self)
regClass(self.tableView, cell: LeftNodeTableViewCell.self)
regClass(self.tableView, cell: LeftNotifictionCell.self)
_tableView.delegate = self;
_tableView.dataSource = self;
return _tableView!;
}
}
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = V2EXColor.colors.v2_backgroundColor;
self.backgroundImageView = UIImageView()
self.backgroundImageView!.frame = self.view.frame
self.backgroundImageView!.contentMode = .scaleToFill
view.addSubview(self.backgroundImageView!)
//這個屬性指定視圖FXBlurView將示例創建模糊效果。如果設置為零(默認),這將是模糊視圖的父視圖 本身,但你可以重寫它如果你需要的話。
frostedView.underlyingView = self.backgroundImageView!
frostedView.isDynamic = false
frostedView.tintColor = UIColor.black
frostedView.frame = self.view.frame
self.view.addSubview(frostedView)
self.view.addSubview(self.tableView);
self.tableView.snp.makeConstraints{ (make) -> Void in
make.top.right.bottom.left.equalTo(self.view);
}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。