概述
1、在 UIKit 中UITabbar 代表了标签栏,而 UITabBarController 对其进行了封装,令多个不同的视图管理与切换变的更加轻松。构建一个标签栏控制器,首先要为每个按钮准备一个单独的页。每一页都应被创建为UIViewController对象。
首先创建一个单视图工程,然后在建两个新类,他们都继承自UIViewController,分别取名为firstViewController,secondViewController。
在AppDelegate.h中代码如下:
import <UIKit/UIKit.h>
#import "firstViewController.h"
#import "secondViewController.h"
@class ViewController;
@interface AppDelegate :UIResponder <UIApplicationDelegate>
@property (strong,nonatomic)UIWindow *window;
@property (strong,nonatomic)ViewController *viewController;
@property(retain,nonatomic)firstViewController *pFirst;
@property(retain,nonatomic)secondViewController *pSecond;
@end
//创建初始化视图控制器
firstViewController *pfirstVC = [[firstViewControlleralloc]initWithNibName:nilbundle:nil];
secondViewController *psecondVC = [[secondViewControlleralloc]initWithNibName:nilbundle:nil];
self.pFirst = pfirstVC;
self.pSecond = psecondVC;
[pfirstVCrelease];
[psecondVCrelease];
//创建UITabBarController对象
UITabBarController *pBar = [[UITabBarControlleralloc]init];
//创建数组来存放多个试图控制器对象
NSArray *mArr = [NSArrayarrayWithObjects:self.pFirst,self.pSecond,nil];
//将UITabBarController对象的viewControllers设置为数组里的元素
pBar.viewControllers = mArr;
//将当前窗口的根视图控制器设为pBar
self.window.rootViewController = pBar;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil方法中添加如下代码:
//设置标签栏的格式和tag
self.tabBarItem = [[UITabBarItemalloc]initWithTabBarSystemItem:UITabBarSystemItemBookmarkstag:10];
//设置视图背景色为红色
self.view.backgroundColor = [UIColorredColor];
//设置标签栏的标题和背景图片(名字为“10.png”)以及tag
self.tabBarItem = [[UITabBarItemalloc]initWithTitle:@"设置"image:[UIImageimageNamed:@"10.png"] tag:20];
//设置视图背景色为黄色
self.view.backgroundColor = [UIColoryellowColor];
最后,运行结果:
//创建初始化导航控制器
UINavigationController *pNavigation = [[UINavigationControlleralloc]initWithRootViewController:self.viewController];
//将导航控制器对象设为窗口的根视图控制器
self.window.rootViewController = pNavigation;
//释放
[pNavigationrelease];
//设置导航栏标题
self.navigationItem.title =@"导航栏";
//设置导航栏上的按钮
UIBarButtonItem *pBtn = [[UIBarButtonItemalloc]initWithBarButtonSystemItem:UIBarButtonSystemItemDonetarget:selfaction:@selector(buttonAction:)];
//将按钮添加到导航栏右边
self.navigationItem.rightBarButtonItem = pBtn;
//按钮关联的动作
- (void)buttonAction:(id)sender
{
UIAlertView *pAlert = [[UIAlertViewalloc]initWithTitle:@"提示"message:@"You can breath easy!"delegate:selfcancelButtonTitle:@"OK"otherButtonTitles:nil];
[pAlertshow];
}
UINavigationController *pNavi1 = [[UINavigationControlleralloc]initWithRootViewController:self.pFirst];
UINavigationController *pNavi2 = [[UINavigationControlleralloc]initWithRootViewController:self.pSecond];
//创建UITabBarController对象
UITabBarController *pBar = [[UITabBarControlleralloc]init];
//创建数组来存放多个试图控制器对象
NSArray *mArr = [NSArrayarrayWithObjects:pNavi1,pNavi2,nil];
//将UITabBarController对象的viewControllers设置为数组里的元素
pBar.viewControllers = mArr;
//将当前窗口的根视图控制器设为pBar
self.window.rootViewController = pBar;
运行结果
可以看到,有导航栏生成,然后我们可以分别在每个类中对的导航类进行设置,即可。
self.tabBarItem.badgeValue =@"8";
最后
以上就是笑点低煎饼为你收集整理的IOS:标签栏与导航栏的全部内容,希望文章能够帮你解决IOS:标签栏与导航栏所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复