2016-10-01 56 views
2

我試圖應用由編程加載的animationImages組成的UIImageView的色調。目前使用iOS 9.3。如何給動畫UIImageView着色?

我覺得我已經試過這裏找到適合應用的色調,包括每一個建議的解決方案:

  • 設置.renderMode上負載:let newImage: UIImage? = UIImage(named: filename as String)!.imageWithRenderingMode(UIImageRenderingMode.AlwaysTemplate)
  • 設置tintView無論是在故事板或編程 與:zeroImageView.tintColor = UIColor.redColor()
  • 通過自身的UIImageView設置圖像.renderMode: zeroImageView.image = zeroImageView.image!.imageWithRenderingMode(UIImageRenderingMode.AlwaysTemplate)
  • 設置的UIImageView的renderMode通過界面生成器 用戶定義的運行時屬性:imageRenderingMode Number 2

的圖像序列是用透明性的PNG的,所以,我想重新顏色的圖像,並保持透明度。

我沒有運氣,有點虧本。想知道如果這些方法只適用於仍然UIAnimationView?任何幫助將不勝感激,謝謝!

下面是一些代碼:

// Load all images 
    while let element = enumerator.nextObject() as? String { 
     if element.hasSuffix("png") { 
      let filename: NSString = "Digits/0/" + element 
      print(filename) 
      imageNames.append(filename as String) 
      let newImage: UIImage? = UIImage(named: filename as String)!.imageWithRenderingMode(UIImageRenderingMode.AlwaysTemplate) 
      images.append(newImage!) 
      zeroImageView.tintColor = UIColor.redColor() 

     } 
    } 

// Make animated UIImageView 
    zeroImageView.userInteractionEnabled = false 
    zeroImageView.animationImages = images 
    zeroImageView.animationDuration = 2.0 
    zeroImageView.startAnimating() 
    zeroImageView.tintColor = UIColor.redColor() 

回答

0

如果沒有這些的工作,下一步我會做的是編程放在UIImageView的頂部空的UIView。首先,它不會干擾UIImageView中的任何事情。

我想在這裏看看這個教程:http://www.apptuitions.com/programmatically-creating-uiview-uislider-uiswitch-using-swift/

這將教你如何一個UIView編程方式添加到故事板。我將這個代碼添加到viewDidLoad()方法中。

你需要改變的主要事情是UIView的背景顏色。首先,您必須決定色彩的顏色(從我在代碼中看到的顏色是紅色),然後明確更改顏色的「Alpha」以使其幾乎不顯示。你改變'阿爾法',因爲那基本上是不透明的顏色。

希望這會有所幫助。

+0

謝謝你的建議! 不幸的是,我想用透明度 - 自定義類型設計來着色圖像。我相信這種方法會在圖像頂部應用彩色矩形,從而使透明圖像背後的「背景」着色? –