2016-07-23 6 views
-1

Ich habe ein Problem mit der Änderung der Deckkraft für UIView. Ich ändere es so: UIView.alpha = Wert. Wenn ich es mit Schritt = 0.01 ändere - die Ansicht blinkt. d.h. die Sicht mit Alpha = 0,05 kann weniger sichtbar sein als die Sicht mit Alpha = 0,04. Ich ändere Alpha mit Schritt = 0.01 und das Ergebnis kann sein: Sicht sichtbar besser-> besser-> schlechter-> besser-> schlechter usw. Ich verstehe nicht, warum es passiert. Dasselbe gilt für Simulator und echtes Gerät. Das Projekt: https://drive.google.com/file/d/0B5cO_tAtLPiwcFk2Qk4wbldDT3M/view?usp=sharing auch animiert I das Ändern alpha von 0,0 bis 1,0 während 20 sec: youtu.be/in34amFvyOESwift UIView blinkt beim Ändern von Alpha

import UIKit 
class ViewController: UIViewController { 
    var alpha = CGFloat() 
    override func viewDidLoad() { 
     super.viewDidLoad() 
     LableA.alpha = 0 
     AlphaLabel.text = "Alpha: \(alpha)" 
    } 
    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 
    @IBOutlet weak var LableA: UILabel! 
    @IBOutlet weak var AlphaLabel: UILabel! 
    @IBAction func pressedChAlphaBtn(sender: AnyObject) { 
     alpha = alpha + 0.01 
     LableA.alpha = alpha 
     print(alpha) 
     AlphaLabel.text = "Alpha: \(alpha)" 
    } 
    @IBAction func pressedResetBtn(sender: AnyObject) { 
     alpha = 0 
     LableA.alpha = alpha 
     print(alpha) 
     AlphaLabel.text = "Alpha: \(alpha)" 
    } 
} 
+3

Könnten Sie bitte Ihren Code in der Frage selbst angeben? – kabiroberai

+0

Wir sind nicht hier, um Ihr Projekt zu debuggen. Sie müssen ein reproduzierbares Beispiel Ihres Problems erstellen und es in Ihre Frage aufnehmen. – Sulthan

+0

Ich bitte Sie nicht, das Projekt zu debuggen. Das angehängte Projekt ist ein einfaches Projekt, um zu zeigen, wie sich das Alpha verändert. Ich habe es für euch geschaffen. Vielen Dank im Voraus – GenDru

Antwort

0

die Änderung Animieren:

Swift 1, 2

UIView.animateWithDuration(0.5) { 
    self.LableA.alpha = alpha 
} 

Swift 3

UIView.animate(withDuration: 0.5) { 
    self.LableA.alpha = alpha 
} 
+0

Vielen Dank für den Kommentar. Aber ich habe bereits versucht, Animation hier zu verwenden. Es hilft nicht. Soweit ich weiß, das Problem im endgültigen Wert von Alpha/Opazität. Habt ihr Ideen? Vielen Dank! – GenDru