我是iOS的新秀
我需要制作动态添加的可见项目。我动态制作的所有设置只要启动模拟器就可以看到。
在我当前的ViewController
中,我动态添加了背景和标签
这是我的故事板:
但是这里实际上必须是:
我知道获得它的方法之一是将这个注释@IBDesignable
置于课堂之上。我试过了,但是没有。
我做错了什么?
答案 0 :(得分:0)
一种方法是:使您的视图IBDesignable和还实现prepareForInterfaceBuilder
以根据需要设计视图。
(但是,我认为不要做你想做的事情。“动态”意味着“在运行时”。故事板不是运行时。你的应用程序会根据需要显示应用程序运行,所以你没有问题。故事板不需要人为地模拟同样的事情。故事板是为你的设计的静态部分,以图形方式构建;代码是为你的设计的动态部分,用代码构造。没有必要让前者完成后者的工作。)
答案 1 :(得分:0)
最终我找到了如何实现结果的方法
如果您需要显示视图,则需要将此视图创建为自定义。
例如背景:
创建自定义视图类GradientView
import UIKit
@IBDesignable class GradientView: UIView {
let backgroundGreyColor = UIColor.lightGray.cgColor
let backgroundLightGreyColor = UIColor.green.cgColor
var gradientBackground: UIColor {
set {
let gradientLayer = CAGradientLayer()
gradientLayer.frame = bounds
gradientLayer.colors = [backgroundGreyColor, backgroundLightGreyColor, backgroundGreyColor]
gradientLayer.startPoint = CGPoint(x: 0.0, y: 0.5)
gradientLayer.endPoint = CGPoint(x: 1.0, y: 0.5)
UIGraphicsBeginImageContext(gradientLayer.bounds.size)
gradientLayer.render(in: UIGraphicsGetCurrentContext()!)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
backgroundColor = UIColor(patternImage: image!)
}
get {
return backgroundColor!
}
}
}
不要忘记放置注释@IBDesignable
创建自定义视图:
将其划到全屏,不要忘记分配自定义视图:
就是这样!随意问一下