当前位置: > > > Swift - 第三方透明指示器MBProgressHUD使用详解2(样式修改、自定义视图)

Swift - 第三方透明指示器MBProgressHUD使用详解2(样式修改、自定义视图)

四、修改默认样式

1,设置遮罩的背景色

下面将提示框遮罩设置为黑色半透明(默认为透明的)
//初始化HUD窗口,并置于当前的View当中显示
let hud = MBProgressHUD.showAdded(to: self.view, animated: true)
//设置提示标题
hud.label.text = "请稍等"
//设置遮罩为半透明黑色
hud.backgroundColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0.4)

2,设置毛玻璃效果的遮罩背景

可以看到遮罩下方的控件都会有模糊效果。
let hud = MBProgressHUD.showAdded(to: self.view, animated: true)
hud.label.text = "请稍等"
hud.backgroundView.style = .blur  //模糊的遮罩背景

3,设置提示框背景色

下面将提示框的背景色改成透明的。
let hud = MBProgressHUD.showAdded(to: self.view, animated: true)
hud.label.text = "请稍等"
hud.bezelView.color = UIColor.clear //将提示框背景改成透明

4,设置提示框圆角值

let hud = MBProgressHUD.showAdded(to: self.view, animated: true)
hud.label.text = "请稍等"
hud.bezelView.layer.cornerRadius = 20.0 //设置提示框圆角

5,设置文字的颜色和字体

let hud = MBProgressHUD.showAdded(to: self.view, animated: true)
hud.label.text = "请稍等"
hud.detailsLabel.text = "具体要等多久我也不知道"
hud.label.textColor = .orange //标题文字颜色
hud.label.font = UIFont.systemFont(ofSize: 20) //标题文字字体
hud.detailsLabel.textColor = .blue //详情文字颜色
hud.detailsLabel.font = UIFont.systemFont(ofSize: 11) //详情文字字体

6,设置菊花颜色

//将菊花设置成橙色
UIActivityIndicatorView.appearance(whenContainedInInstancesOf:
    [MBProgressHUD.self]).color = .orange

7,设置提示框偏移量

即提示框相对于父视图中心点的偏移,正值为向右下偏移,负值为向左上偏移。
let hud = MBProgressHUD.showAdded(to: self.view, animated: true)
hud.label.text = "请稍等"
hud.offset = CGPoint(x:-100, y:-150) //向左偏移100,向上偏移150

8,设置提示框内边距

let hud = MBProgressHUD.showAdded(to: self.view, animated: true)
hud.label.text = "请稍等"
hud.margin = 0 //将各个元素与矩形边框的距离设为0

9,设置提示框的最小尺寸

let hud = MBProgressHUD.showAdded(to: self.view, animated: true)
hud.label.text = "请稍等"
hud.minSize = CGSize(width: 250, height: 110)  //设置最小尺寸

10,设置正方形提示框

即强制提示框的宽度和高度相等。
let hud = MBProgressHUD.showAdded(to: self.view, animated: true)
hud.label.text = "请稍等"
hud.isSquare = true  //正方形提示框

五、自定义视图

如果觉得 MBProgressHUD 自带的几种视图样式不能满足需求,我们还可以使用自定义视图。

1,效果图

下面样例在提示框中显示一个“打勾”的图标。

2,样例代码

//初始化HUD窗口,并置于当前的View当中显示
let hud = MBProgressHUD.showAdded(to: self.view, animated: true)
hud.mode = .customView //模式设置为自定义视图
hud.customView = UIImageView(image: UIImage(named: "tick")!) //自定义视图显示图片
hud.label.text = "操作成功"
评论0