国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

RDVTabBarController--可自由定制的iOS底部導航控件

2019-11-09 19:05:31
字體:
來源:轉載
供稿:網友

RDVTabBarController:一個十分完善的tabBarController,可以自定義角標個數,爽的停不下來。

RDVTabBarController地址:RDVTabBarController

Demo地址:歡迎Star

說明

此教程是旨在讓你快速入手,如需更加深層次的了解,請直接RDVTabBarController地址分析即可;

使用

pod 'RDVTabBarController'

結構

RDVTabBar @interface RDVTabBar : UIViewRDVTabBarController@interface RDVTabBarController : UIViewController RDVTabBarItem@interface RDVTabBarItem : UIControl

RDVTabBarController Example Usage其實已經很詳細了,接下來看初始化

//VString宏定義,為了就是更好的國際化語言,適配多語言,剛好此Demo也國際化了,可以參看https://github.com/sauchye/dev_notes/issues/4 #define VString(x) NSLocalizedString(x, nil)- (void)setupViewControllers{ SYFirstViewController *firstVC = [[SYFirstViewController alloc] init]; SYSecondViewController *secondVC = [[SYSecondViewController alloc] init]; SYThirdViewController *thirdVC = [[SYThirdViewController alloc] init]; firstVC.title = VString(@"Home"); secondVC.title = VString(@"Found"); thirdVC.title = VString(@"Me"); self.firstNav = [[SYBaseNavigationController alloc] initWithRootViewController:firstVC]; self.secondNav = [[SYBaseNavigationController alloc] initWithRootViewController:secondVC]; self.thirdNav = [[SYBaseNavigationController alloc] initWithRootViewController:thirdVC]; [self setViewControllers:@[self.firstNav, self.secondNav, self.thirdNav]]; [self customizeTabBarForController];} NSInteger index = 0; for (RDVTabBarItem *item in [[self tabBar] items]) { item.titlePositionAdjustment = UIOffsetMake(0, 2.0); [item setBackgroundSelectedImage:backgroundImage withUnselectedImage:backgroundImage]; UIImage *selectedimage = [UIImage imageNamed:[NSString stringWithFormat:@"%@_selected",[tabBarItemImages objectAtIndex:index]]]; UIImage *unselectedimage = [UIImage imageNamed:[NSString stringWithFormat:@"%@_normal",[tabBarItemImages objectAtIndex:index]]]; [item setFinishedSelectedImage:selectedimage withFinishedUnselectedImage:unselectedimage]; [item setTitle:[tabBarItemTitles objectAtIndex:index]]; item.selectedTitleAttributes = @{ NSFontAttributeName: [UIFont boldSystemFontOfSize:12], NSForegroundColorAttributeName:kNAVIGATION_BAR_COLOR, }; item.unselectedTitleAttributes = @{ NSFontAttributeName: [UIFont boldSystemFontOfSize:12], NSForegroundColorAttributeName:RGB(217, 217, 217), }; [item setTitle:[tabBarItemTitles objectAtIndex:index]]; index++; }}

這樣你的tabBar基本搭建好了,但是還需要完善一些,比如,角標設置,push隱藏等。

Push隱藏tabBar,你只需要這樣即可 - (void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; [[self rdv_tabBarController] setTabBarHidden:YES animated:YES];}設置角標數[[self rdv_tabBarItem] setBadgeValue:@"3"];RDVTabBarControllerDelegate,相信你看就會明白,好的方法命名很重要啊~/** * Asks the delegate whether the specified view controller should be made active. */- (BOOL)tabBarController:(RDVTabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController;/** * Tells the delegate that the user selected an item in the tab bar. */ * (void)tabBarController:(RDVTabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController;

結語

RDVTabBarController是一個很棒的第三方tabBarController,值得我們學習和思考。

相比傳統第三方,你會發現可以很好的定制角標,這是極好的,當然你也可以自定義;但是不能定義中間凸起的tabBar,好早之前去哪兒就是中間凸起一個tabBar,不過現在去哪兒也改成傳統的tabBar了;

– 更多討論,參見: http://www.ios122.com/tag/rdvtabbarcontroller/


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 陵川县| 蒙城县| 甘泉县| 庆安县| 故城县| 鹤山市| 噶尔县| 长沙市| 文山县| 台东县| 射阳县| 康马县| 佳木斯市| 卢氏县| 观塘区| 和顺县| 岱山县| 阳谷县| 红安县| 临澧县| 江陵县| 南皮县| 凉城县| 屏山县| 柘荣县| 隆林| 沙坪坝区| 合川市| 女性| 贺州市| 长泰县| 濮阳市| 兴海县| 抚宁县| 桐城市| 从化市| 崇明县| 平凉市| 静乐县| 徐闻县| 江达县|