2014-06-10 7 views
40

W ObjectiveC zrobiłbym toTworzenie UIImage z renderingMode w Swift

UIImage *image = [[UIImage imageNamed:@"myImage.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; 

ale w Swift próbowałem wszystkie alternatywy, takie jak ten, bez powodzenia

var image : UIImage = UIImage(named:"myImage.png").imageWithRenderingMode(renderingMode: AlwaysOriginal) 

To pokazuje błąd: wykorzystanie nierozwiązany identyfikator "AlwaysOriginal"

Jak to zrobić?

Odpowiedz

126

która byłaby składnię:


(na Swift 3.x lub Swift 4)

var image: UIImage? = UIImage(named:"myImage")?.withRenderingMode(.alwaysOriginal) 

(na Swift 2.x)

var image: UIImage? = UIImage(named:"myImage.png").imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal) 

ale można użyć tego skrótu '', a także:

var image: UIImage? = UIImage(named:"myImage.png").imageWithRenderingMode(.AlwaysOriginal) 
+2

Ahhh, niepowtarzalny. Mijasz obiekt, który ma wartość wyliczeniową. Myślałem, że po prostu muszę przekazać wartość wyliczenia. DZIĘKI! – SpaceDog