Как изменить цвет изображения (tintColor) в iOS и WatchKit с помощью Swift
مرحباً بالجميع! أنا مبتدئ في تطوير iOS، وقد واجهت مشكلة. أريد تغيير لون الأيقونة في تطبيقي بشكل ديناميكي، اعتماداً على إجراءات المستخدم. على سبيل المثال، لدي صورة نجمة (بتنسيق PNG مع شفافية)، وأريدها أن تتحول إلى اللون الأصفر عندما يضغط المستخدم على زر "المفضلة"، وإلى اللون الرمادي عندما يلغي الاختيار.
حاولت استخدام الخاصية tintColor مع UIImageView، لكنها لا تعمل كما توقعت. إليك الكود الخاص بي:
let imageView = UIImageView(image: UIImage(named: "star"))
imageView.tintColor = UIColor.yellow
imageView.image = imageView.image?.withRenderingMode(.alwaysTemplate)
بعد ذلك تصبح الصورة صفراء، لكن الحواف تبدو غير واضحة، وفي بعض الأماكن يتم تطبيق اللون بشكل غير صحيح. قرأت أنه بالنسبة لـ WatchKit يجب استخدام WKInterfaceImage وطريقته setTintColor()، لكن هناك أيضاً مشاكل — الصورة ببساطة لا تتلون.
أرجو منكم إرشادي حول كيفية التغيير بشكل صحيح.