ios开发uiiview添加水印
时间: 2023-10-13 15:03:19 浏览: 114
在iOS开发中,我们可以通过添加水印来给UIView添加一些额外的视觉效果。下面是一个实现的示例代码:
```swift
// 创建带有水印的UIView子类
class WatermarkView: UIView {
let watermarkText: String // 水印文本
init(frame: CGRect, watermarkText: String) {
self.watermarkText = watermarkText
super.init(frame: frame)
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override func draw(_ rect: CGRect) {
super.draw(rect)
// 设置水印文本的属性
let attributes: [NSAttributedString.Key : Any] = [
.font: UIFont.systemFont(ofSize: 16),
.foregroundColor: UIColor.white.withAlphaComponent(0.5)
]
// 绘制水印文本
let watermarkString = NSAttributedString(string: watermarkText, attributes: attributes)
watermarkString.draw(at: CGPoint(x: 10, y: rect.height - 30))
}
}
// 在ViewController中使用WatermarkView
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// 创建一个带有水印的UIView并添加到当前视图控制器视图层级中
let watermarkView = WatermarkView(frame: view.bounds, watermarkText: "Watermark")
view.addSubview(watermarkView)
}
}
```
在上面的示例代码中,我们创建了一个名为`WatermarkView`的UIView子类。在其`draw(_ rect:)`方法中,我们使用`NSAttributedString`绘制了带有水印文本的视图。我们可以调整文本的字体和颜色等属性来满足需求。
在ViewController中,我们使用`WatermarkView`类创建了一个带有水印的UIView实例,并将其添加到当前视图控制器的视图层级中。通过这样的方式,我们可以在应用中的任何需要的位置添加水印效果。
阅读全文