您好,登錄后才能下訂單哦!
/*
FXBlurView屬性
@property (nonatomic, getter = isBlurEnabled) BOOL blurEnabled;
這個(gè)屬性切換為個(gè)體FXBlurView實(shí)例模糊了。模糊是默認(rèn)啟用。注意,如果您使用+ setBlurEnabled方法禁用模糊那將會(huì)覆蓋該設(shè)置。
@property (nonatomic, getter = isDynamic) BOOL dynamic;
這個(gè)屬性控制是否FXBlurView更新動(dòng)態(tài),或者只有一次當(dāng)視圖添加到它的父視圖。默認(rèn)值為YES。注意,如果動(dòng)態(tài)設(shè)置為不,你仍然可以迫使視圖更新通過(guò)調(diào)用setNeedsDisplay或updateAsynchronously:completion:完成。動(dòng)態(tài)模糊極其cpu密集型任務(wù),因此你應(yīng)該禁用動(dòng)態(tài)視圖立即執(zhí)行一個(gè)動(dòng)畫(huà)之前,以避免卡頓。然而,如果你有多個(gè)FXBlurViews屏幕上那么簡(jiǎn)單的禁用更新使用setUpdatesDisabled方法而不是設(shè)置動(dòng)態(tài)屬性。
@property (nonatomic, assign) NSUInteger iterations;
模糊迭代的數(shù)量。更多的迭代改進(jìn)了但質(zhì)量降低了性能。默認(rèn)為2的迭代。
@property (nonatomic, assign) NSTimeInterval updateInterval;
這個(gè)控件之間的時(shí)間間隔(以秒為單位)連續(xù)更新當(dāng)FXBlurView在動(dòng)態(tài)模式下操作。這個(gè)默認(rèn)為0,這意味著FXBlurView將盡快更新。這收益最好的幀速率,但也很耗CPU, 這可能導(dǎo)致應(yīng)用程序的其他性能降低,尤其是在舊設(shè)備。要實(shí)現(xiàn)這一點(diǎn),試著增加updateInterval的數(shù)值。
@property (nonatomic, assign) CGFloat blurRadius;
這個(gè)屬性控制模糊效果的半徑(點(diǎn))。默認(rèn)為40點(diǎn)的半徑,這是類似于iOS 7模糊效果。
@property (nonatomic, strong) UIColor *tintColor;
這在一個(gè)可選的色調(diào)顏色應(yīng)用于FXBlurView。顏色的RGB分量將混合模糊圖像,導(dǎo)致溫和的色彩。不同色彩的強(qiáng)度效應(yīng),使用光明或黑暗的顏色。對(duì)tintColor透明度(alpha)的設(shè)置會(huì)被忽略。如果您不希望應(yīng)用色彩,將這個(gè)值設(shè)置為零或(用戶界面顏色clearColor]。請(qǐng)注意,如果您正在使用Xcode 5以上,FXBlurViews接口中創(chuàng)建默認(rèn)構(gòu)建器將有一個(gè)藍(lán)色的色調(diào)。
@property (nonatomic, weak) UIView *underlyingView;
這個(gè)屬性指定視圖FXBlurView將示例創(chuàng)建模糊效果。如果設(shè)置為零(默認(rèn)),這將是模糊視圖的父視圖本身,但你可以重寫(xiě)它如果你需要的話。
*/
FXBlurView是UIView的子類,它實(shí)現(xiàn)毛玻璃效果的原理其實(shí)就是覆蓋上一層FXBlurView的實(shí)例對(duì)象。
- (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; //動(dòng)態(tài)改變模糊效果
[self.view addSubview:aview];
FXBlurView * bview = [[FXBlurView alloc] initWithFrame:CGRectMake(0, 120, 100, 100)];
bview.tintColor = [UIColor whiteColor]; //前景顏色
bview.blurEnabled = YES; //是否允許模糊,默認(rèn)YES
bview.blurRadius = 10.0; //模糊半徑
bview.dynamic = YES; //動(dòng)態(tài)改變模糊效果
bview.iterations = 2; //迭代次數(shù):
bview.updateInterval = 2.0; //更新時(shí)間(不確定具體功能)
/*
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!)
//這個(gè)屬性指定視圖FXBlurView將示例創(chuàng)建模糊效果。如果設(shè)置為零(默認(rèn)),這將是模糊視圖的父視圖 本身,但你可以重寫(xiě)它如果你需要的話。
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);
}
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。