كيفية السماح للمستخدم من تغيير ايقونة التطبيق !
السلام عليكم ..
كما تعلمون ابل في تحديث ios 10.3 اضافة ميزة تسمح للمطورين من اضافة ايقونات مختلفة لتطبيقاتهم ،
بما يجعل لمستخدمين حرية اختيار الايقونة المفضله لديهم بدلاُ من اجبارهم على ايقونة واحده !
الطريقة ليست صعبه ولكن تتطلب بعض الخطوات
اولا :
نضيف الايقونة الاساسية في ملف appicon في مجلد Assets.xcassets
ستوجب عليك اضافة جميع الاحجام ولكن لغرض هذا الدرس اضفت ايقونة بحجمين مختلفين احداهم بحجم شاشة الايفون ٧ والاخر بحجم الايفون ٧ بلس
للتسهيل عليك يمكنك عمل ايقونة بحجم 1500 في 1500
ومن ثم رفع الايقونة على هذا الموقع Makeappicon
وسوف ينتج لك جميع الايقونة بجميع الاحجام سوا كانت للـ ios او الاندوريد
وايضا هناك تطبيق في متجر البرامج يقوم بنفس هذه الوظيفة واكثر باسم Asset Catalog Creator
ثانيا : اضيف الايقونات الاخرى خارج مجلد Assets.xcassets
يمكنك فعل كما فعلت بجعل كل ايقونة بديله في مجلد ، لاحظ يتوجب عليك تسمية الايقونات باسماء مختلفة
وليس ضروري جعل كل ايقونة في مجلد مستقل
الاهم هو تسمية الايقونات
فالايقونه الاولى تم تسميتها بـ icon 1
والايقونة الثانية تم تسميتها بـ icon 2
ثالثا : تحتاج الى اضافة بعض الاسطر لملف Info.plist
١. قم بفتح ملف Info.plist
وانشى سطر جديد عن طريقة الضغط على علامة "+" وقم بتسميته باسم CFBundleIcons
سوف يتغير تلقائيا الى Icon files (iOS 5)
و اجعله من نوع Dictionary
٢. اضغط على السهم بجانب Icon files (iOS 5) ومن ثم اضغط على علامة "+"
لاضافة حقل اسفل Icon files (iOS 5)
وباسم CFBundleAlternateIcons وايضا من نوع Dictionary
٣. اضغط على السهم بجانب CFBundleAlternateIcons ومن ثم اضغط على علامة "+"
لاضافة حقل جديد
هذا الحقل قم بتسميته باسم الايقونة البديله هنا سوف نقومب تسميته بـ "icon 1"
واجعل نوعه Dictionary
٤. اضغط على السهم بجانب "icon 1" ومن ثم اضغط على علامة "+"
وقم بتسميته باسم CFBundleIconFiles وهذه المره اجعله من نوع Array
٥. اضغط على علامة الـ "+" بجانب "CFBundleIconFiles"
سيظهر حقل جديد باسم "item 0" من نوع String
اجعل هذا الحقل باسم الايقونه ، نحن قمنا بتسميتها بـ icon 1 فاجعل قيمتها بنفس الاسم
كرر الخطوات من ٣ الى ٥ على حسبب عدد الايقونات التي تريدها
صورة توضح الخطوات السابقة بعد اضافة ايقونتين واحده باسم icon 1 والاخرى باسم icon 2
رابعا : اذهب الى Main.Storyboard
واضيف Segmented Control
قمة بتغيير مسمياتها حسب رغبتك ، او اجلعها كما في الصورة
خامسا : اضغط على زر control واسحب الـ segmented الى ملف الاكواد وقم بتسميته بـ segmentedControl
واجعل النوع Outlet
سادسا : اضغط على زر control واسحب الـ segmented الى ملف الاكواد وقم بتسميته بـ indexChanged
سابعا :
الان بداخل اقواس indexChanged اضيف التالي
@IBAction func indexChanged(_ sender: UISegmentedControl) {
switch segmentedControl.selectedSegmentIndex {
case 0:
UIApplication.shared.setAlternateIconName(nil)
break
case 1:
UIApplication.shared.setAlternateIconName("icon1")
break
case 2:
UIApplication.shared.setAlternateIconName("icon2")
break
default:
break
}
}
لاحظ التالي :
هذا السطر معناه الايقونة الاصلية
UIApplication.shared.setAlternateIconName(nil)
بقية الاسطر يتم كتابة اسماء الايقونات بدلا من nil
اخيراً :
قم بتشغيل البرنامج وسوف تلاحظ امكانية تغيير ايقونة التطبيق
ستظهر رسالة تفيد بعملية التغير كهذه :
يمكن تحميل المشروع من هنا
التعليقات (0)
عرض المزيد.. جديد مقالاتي
لايوجد لديك حساب في عالم البرمجة؟
تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !