تغيير لون زر الإلغاء في UIAlertController مع preferredStyle: .ActionSheet ممكن بطرق متعددة. في الواقع، يمكنك تحقيق ذلك بدون الحاجة إلى استخدام Destructive style. يمكنك ببساطة إنشاء زر الإلغاء بنفس الطريقة التي أنشأت بها زر الفعل الضار (Destructive action)، ثم تخصيص لونه بشكل مستقل.
قد يكون الكود كالتالي:
swiftlet cancelActionButton: UIAlertAction = UIAlertAction(title: "Cancel", style: .default) { action in
print("Cancel")
}
cancelActionButton.setValue(UIColor.red, forKey: "titleTextColor")
// أضف زر الإلغاء إلى UIAlertController
alertController.addAction(cancelActionButton)
في هذا الكود، قمنا بإنشاء زر الإلغاء بنفس الأسلوب الافتراضي (default)، ثم قمنا بتعيين قيمة لون العنوان (titleTextColor) إلى اللون الأحمر. بعد ذلك، قمنا بإضافة زر الإلغاء إلى UIAlertController كما نفعل مع أي زر آخر.
هذا الكود سيخلق زر الإلغاء بلون أحمر، وهو يعمل بالتمام كما تريد، حيث يظهر زر الإلغاء بشكل مستقل باللون الأحمر مثلما هو موضح في الصورة التي وفرتها.
هذه الطريقة تتيح لك تخصيص لون زر الإلغاء بشكل مستقل عن باقي الأزرار في UIAlertController، مما يتيح لك الحصول على التصميم الذي تريده بدقة وبسهولة.
المزيد من المعلومات
بالطبع، يمكننا توسيع المقال لاستكمال الشرح حول كيفية تغيير لون زر الإلغاء في UIAlertController بشكل أكثر تفصيلًا.
إذا كنت تفضل أن تجعل زر الإلغاء يظهر بشكل مميز عن زرات الفعل الأخرى، فيمكنك استخدام خاصية preferredAction
لتحديد الزر الذي تفضله ليظهر بشكل أكبر وبتأثيرات مختلفة.
هناك طريقتان للقيام بذلك:
- تحديد الزر المفضل (Preferred Action):
swiftlet cancelActionButton: UIAlertAction = UIAlertAction(title: "Cancel", style: .default) { action in
print("Cancel")
}
cancelActionButton.setValue(UIColor.red, forKey: "titleTextColor")
// تحديد زر الإلغاء كزر مفضل
alertController.preferredAction = cancelActionButton
// أضف زر الإلغاء إلى UIAlertController
alertController.addAction(cancelActionButton)
- تخصيص زر الإلغاء ليظهر بتأثيرات مختلفة:
swiftlet cancelActionButton: UIAlertAction = UIAlertAction(title: "Cancel", style: .default) { action in
print("Cancel")
}
cancelActionButton.setValue(UIColor.red, forKey: "titleTextColor")
cancelActionButton.setValue(true, forKey: "isPreferredAction")
// أضف زر الإلغاء إلى UIAlertController
alertController.addAction(cancelActionButton)
باستخدام أي من الطرقين، يمكنك تخصيص زر الإلغاء باللون الأحمر وجعله يظهر بتأثيرات مميزة داخل UIAlertController الخاص بك.
من المهم الإشارة إلى أنه على الرغم من أن استخدام الخصائص الخاصة (preferredAction أو isPreferredAction) يعمل في بعض الحالات، إلا أنه لا يُضمَن دائمًا أن تعمل بنفس الشكل على جميع الأجهزة أو في جميع الإصدارات. لذا، يُفضل دائمًا اختبار التطبيق على مجموعة متنوعة من الأجهزة والإصدارات لضمان عمله بشكل صحيح.