2016-12-25 52 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按需設計視圖。 (動態的「」意味着「在運行時」)故事板不是運行時的,當應用程序運行時,您的應用程序將根據需要顯示,所以你沒有任何問題,故事板不需要人爲地模擬相同的事情,故事板是針對設計的靜態部分,以圖形方式構建的;代碼是針對設計的動態部分,用代碼構建的。沒有必要使前者做後者的工作。)

相關問題