2016-12-25 78 views
-2

我是iOS的新手如何制作动态添加的可见故事板项目?

我需要制作动态添加的可见项目。我动态制作的所有设置,只要我启动模拟器就可以看到。

在我目前的ViewController我添加背景和动态标注

这里我的故事板

enter image description here

但在这里它是如何实际上已经是

enter image description here


我知道获得它的方法之一是将该注释@IBDesignable放在课堂上。我试过了,但没有。

我在做什么错?

+0

“但这里它是如何实际上是”为什么它必须是这样的?如果应用程序在您运行它时运行,那么您关心故事板中显示的内容是什么? – matt

+0

我不明白为什么这个问题没有解决?这是一个绝对正常的问题,它甚至有一个答案。我相信它可以帮助某人...为什么这有负号? –

回答

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

创建自定义视图

enter image description here

它挠到全屏,不要忘记分配您的自定义视图

enter image description here

,就是这样!随意问

0

一种方法是:使您的视图IBDesignable和执行prepareForInterfaceBuilder按需设计视图。 (动态的“”意味着“在运行时”)故事板不是运行时的,当应用程序运行时,您的应用程序将根据需要显示,所以你没有任何问题,故事板不需要人为地模拟相同的事情,故事板是针对设计的静态部分,以图形方式构建的;代码是针对设计的动态部分,用代码构建的。没有必要使前者做后者的工作。)