【发布时间】:2017-03-30 03:03:46
【问题描述】:
所以我试图让用户能够设计自己的虚拟名片,用户可以在 UIView 周围拖动标签,他们可以更改 UIView 的背景颜色以及 UILabel 的颜色。卡片本身由笔尖表示,用户通过 UIPickerView 选择不同的颜色选择或模板图像选择。我希望标签出现在图像顶部并被拖到视图的该部分时,但它目前没有这样做。更改 UIView 和文本的背景颜色就可以了;我还可以使用 .isHidden() 添加和删除模板图像(这是一个 PNG)。
我的问题是,当 UIImage 添加到 UIView 时,它位于 UILabel 之上。如果 UILabel 的一部分与 png 图像的一部分重叠,它会消失在它后面,我希望它出现在图像上。
nib 的代码在 userCardView.swift 中,选择器视图在 mainViewController 上,我在其中设置了 UserDefaults,它工作正常。
class userCardView: UIView {
@IBOutlet var cardView: UIView!
@IBOutlet weak var testLBL: UILabel!
@IBOutlet weak var templateImage: UIImageView!
var colorIndex = ["Black", "White", "Gray"]
var templateIndex = ["None", "Triangle"]
override func awakeFromNib() {
super.awakeFromNib()
cardView.clipToBounds = true
let backColorObject = UserDefaults.standard.object(forKey: "backGroundColor") as? String
let textColorObject = UserDefaults.standard.object(forKey: "textColor") as? String
let templateColorObject = UserDefaults.standard.object(forKey: "templateColor") as? String
let templateImageObject = UserDefaults.standard.object(forKey: "templateImage") as? String
for _ in templateIndex {
if templateImageObject == templateIndex[1] {
templateImage.isHidden = false
templateImage.image = UIImage(named: "test_triangle.png")
//testLBL.bringSubview(toFront: templateImage)
templateImage.bringSubview(toFront: testLBL)
} else if templateImageObject == templateIndex[0] {
templateImage.isHidden = true
} else {
templateImage.isHidden = true
}
}
我对使用 swift 还是很陌生,所以任何帮助都将不胜感激,谢谢。
【问题讨论】: