عصر تکمیلی : شیوه سفارشی سازی دورنما و ظواهر Tab Bar طراحی اپلیکیشن در مشهد در کنار بیش تر از 700.000 اپی که در AppStore وجود داراست ، اپلیکیشن شما نیز می بایست یک پیاده سازی خوب داشته باشد ، تا بتواند در کنار بقیه اپلیکیشن ها قرار گیرد. در صورتیکه برنامه شما ، از پیاده سازی های پیش فرض استعمال می کند ، سفارش میکنیم که با ساخت یه خرده تغییرات در آنها ، ظواهر اپلیکیشن خویش را پاره ای خوب فرمایید. به شما این یقین را میدهیم که با اجرا این عمل ، معیار فروش نرمافزار شما بهبود یافته و نرخ دانلودهای بیشتری را به خویش تخصیص میدهد.
وقتی که یک نرم افزار دارای اسم و رسم را رسیدگی میکنید ، مطمئناً ، به پیاده سازی سفارشی tab bar آن ، دقت خواهید کرد. سؤالی که دربین خوانندگان به وجود میآید ، کیفیت ساختوساز تغییر و تحول در ظواهر tab bar نرم افزار است. درین فراگیری ، ما به شما روش اعمال این شغل را علامت خواهیم بخشید. با معرفی API مرتبط با Appearance در iOS 5 ، سفارشی سازی در اختیار گرفتن های UI بسیار بی آلایش خیس گردیده و جلوه های منحصربهفرد به شخصی ، به نرم افزار ها میدهد.
Appearance proxy یک شیء میباشد که از آن برای تغییرو تحول appearance پیش فرض شی ءها بصری مانند view ها و مورد های bar ، به کارگیری میکنیم. کلاس هایی که با پروتکل UIAppearance منطبق دارا هستند ، استعمال از appearance را حمایت می نمایند. برای عوض کردن appearance پیش فرض اینگونه کلاسی ، با به کار گیری از روال کلاس appearance ، شیء proxy آن را بازیابی میکنیم و متدهای شیء را برای تهیه مقادیر پیش فرض نو ، فراخوانی میکنیم. یک proxy object ، متدها و خصیصه های مرتبط با کلاس proxy خویش را جاری ساختن می نماید ، که با ماکرو UI_APPEARANCE_SELECTOR برچسب گذاری گردیده اند. مثلا ، میتوانیم با استعمال از شیء proxy ، برای تغییر تحول رنگ tint (از روش خاصیت progressTintColor یا این که trackTintColor ) از کلاس UIProgressView به کارگیری کنیم.
طبق مشی ، نرمافزار مثال ایی را برای فهم و شعور عالی مفاهیم سفارشی سازی ، خواهیم ایجاد کرد. این نرمافزار قابلیت و امکان اجرایی ندارد ، البته ، تمرکز اساسی ما این میباشد که به شما آرم دهیم که به چه شکل Appearance API به عمل برده می گردد و ظواهر tab bar را که مشتمل بر رنگ تصویر دورنما و رنگ تیتر است ، به چه شکل تغییرو تحول مییابد. هم اینگونه ، تصاویر UITabBarItem را نیز تغییر تحول خواهیم بخشید. بیایید ، آغاز ، یک نگاهی به ورژن آخری نرم افزار ، بیاندازیم.
ادراک UITabBar و UITabBarItem
پیش از این که دربارهی API کنکاش کنیم ، آغاز نگاهی به طریق پیاده سازی UITabBar و UITabBarItem می اندازیم:
تصویر فوق ، بایستی شعور بهتری از این که چهگونه قادر خواهیم بود در اختیار گرفتن های UI را سفارشی سازی نماییم ، به شما بدهد. در حال حاضر ، بیایید عمل را استارت کنیم و یک برنامه مثال را با هم بسازیم.
تولید یک برنامه Tab Bar مثال
آغاز ، پروژه Xcode را با به کار گیری از تمپلت “Tabbed Application” ساختوساز میکنیم. اذن دهید اسم پروژه را “CustomTabApp” در اختیار بگذاریم و پارامترهای پروژه را بر پایه ی تصویر ذیل ، تهیه نماییم:
پس از این که Xcode ، پروژه را ایجاد کرد ، دسته تصاویر را از اینجا download this image set دانلود کرده و پوشه تصاویر را پروژه Xcode خویش ، اضافه میکنیم.
اضافه کردن Tab های بیشتر به Tab Bar Controller
به Storyboard رفته و رابط کاربری را پیاده سازی می نماییم. از آن جایی ، این پروژه برای نخسین بار ساخت و ساز میگردد ، صرفا با دو گزینه tab bar ، همپا میباشد. بیایید دو آیتم دیگر نیز به آن اضافه کنیم (نکته : درصورتیکه با مفاهیم tab bar شناخت ندارید ، یادگرفتن های گذشته ما درباره شیوه ساختوساز یک tab bar controller با استعمال از Storuyboard ، را پژوهش کنید. )
به آسانی دو View controller را اضافه کرده و آن ها را با Tab Bar Controller ، مرتبط میسازیم. کلید در اختیار گرفتن کیبورد را فشار داده و نگه میداریم ، روی Tab Bar Controller کلیک کرده و آن را به درون view controller تازه ، درگ میکنیم. “view controllers” را برای آیتم Relationship Segue ، گزینش میکنیم.
بعداز ایفا این عمل ، می بایست یک Tab Bar Controller با چهار tab داشته باشیم. نرم افزار را اعمال کرده و ظواهر آن را آزمایش می نماییم:
تغییرو تحول تیتر و آیکون مرتبط با گزینه های Tab Bar
به دنبال ، پوشه “CustomTabAppAppDelegate.m” را گزینش کرده و مشی “didFinishLaunchingWithOptions” را بر اساس کدهای تحت ، دستکاری میکنیم:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Assign tab bar item with titles
UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController;
UITabBar *tabBar = tabBarController.tabBar;
UITabBarItem *tabBarItem1 = [tabBar.items objectAtIndex:0];
UITabBarItem *tabBarItem2 = [tabBar.items objectAtIndex:1];
UITabBarItem *tabBarItem3 = [tabBar.items objectAtIndex:2];
UITabBarItem *tabBarItem4 = [tabBar.items objectAtIndex:3];
tabBarItem1.title = @\"Home\";
tabBarItem2.title = @\"Maps\";
tabBarItem3.title = @\"My Plan\";
tabBarItem4.title = @\"Settings\";
[tabBarItem1 setFinishedSelectedImage:[UIImage imageNamed:@\"home_selected.png\"] withFinishedUnselectedImage:[UIImage imageNamed:@\"home.png\"]];
[tabBarItem2 setFinishedSelectedImage:[UIImage imageNamed:@\"maps_selected.png\"] withFinishedUnselectedImage:[UIImage imageNamed:@\"maps.png\"]];
[tabBarItem3 setFinishedSelectedImage:[UIImage imageNamed:@\"myplan_selected.png\"] withFinishedUnselectedImage:[UIImage imageNamed:@\"myplan.png\"]];
[tabBarItem4 setFinishedSelectedImage:[UIImage imageNamed:@\"settings_selected.png\"] withFinishedUnselectedImage:[UIImage imageNamed:@\"settings.png\"]];
return YES;
}