UINavigationController的入门学习

it2026-04-04  8

 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    // Override point for customization after application launch.

    

    self.window = [[UIWindow alloc]initWithFrame:[[UIScreen mainScreen] bounds]];    

    UITabBarController *tabBarController = [[UITabBarController alloc] init];

    

    ViewController *viewController = [[ViewController alloc] init];

    UINavigationController *navigationbar = [[UINavigationController alloc]initWithRootViewController:viewController];

    navigationbar.tabBarItem.title=@"首页"; //底部tabBar的标题

    navigationbar.tabBarItem.image=[UIImage imageNamed:@"icon.bundle/home@2x.png"];//底部tabBar的默认图片

    navigationbar.tabBarItem.selectedImage = [UIImage imageNamed:@"icon.bundle/home_selected@2x.png"];//底部tabBar的点击后显示的图片

    

    

    UIViewController *viewcontroller2 = [[UIViewController alloc] init];

    viewcontroller2.view.backgroundColor = [UIColor redColor];

    viewcontroller2.tabBarItem.title =@"视频";

    viewcontroller2.tabBarItem.image = [UIImage imageNamed:@"icon.bundle/video@2x.png"];

    viewcontroller2.tabBarItem.selectedImage =[UIImage imageNamed:@"icon.bundle/video_selected_2x.png"];

    

    UIViewController *viewcontroller3 = [[UIViewController alloc] init];

    viewcontroller3.view.backgroundColor = [UIColor blueColor];

    viewcontroller3.tabBarItem.title = @"推荐";

    viewcontroller3.tabBarItem.image =[UIImage imageNamed:@"icon.bundle/like@2x.png"];

    viewcontroller3.tabBarItem.selectedImage = [UIImage imageNamed:@"icon.bundle/like_selected@2x.png"];

    

    UIViewController *viewcontroller4 = [[UIViewController alloc] init];

    viewcontroller4.view.backgroundColor = [UIColor grayColor];

    viewcontroller4.tabBarItem.title = @"我的";

    viewcontroller4.tabBarItem.image =[UIImage imageNamed:@"icon.bundle/page@2x.png"];

    viewcontroller4.tabBarItem.selectedImage = [UIImage imageNamed:@"icon.bundle/page_selected@2x.png"];

    

    

    [tabBarController setViewControllers:@[navigationbar,viewcontroller2,viewcontroller3,viewcontroller4]];//将四个UIViewController装进UItabBarController只能够

    

    self.window.rootViewController = tabBarController; //设置根视图显示器为当前的UITabBarController

    [self.window makeKeyAndVisible ];

//    self.window.backgroundColor = [UIColor greenColor];

    

    return YES;

}

 

UIViewController 文件:

 

- (void)viewDidLoad {

    [super viewDidLoad];

    // Do any additional setup after loading the view.

    

    self.view.backgroundColor  =[UIColor grayColor];

    self.imageView = [[UIImageView alloc] initWithFrame:CGRectMake(50, 100, 150, 60)];

    [self.imageView setImage:[UIImage imageNamed:@"icon.bundle/icon.png"]];

 

    

    [self.view addSubview:self.imageView];

    

    self.imageView.userInteractionEnabled = YES;//UIView的子控件需要打开用户交互,才能是点击手势生效

    

    UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self  action:@selector(pushController)];

    

    [self.imageView addGestureRecognizer:tapGesture];

}

 

 

-(void)pushController{

    NSLog(@"..");

    UIViewController *viewcontroller = [[UIViewController alloc] init];

    viewcontroller.view.backgroundColor = [UIColor whiteColor];

    viewcontroller.navigationItem.title =@"详情页标题";

 

 

    viewcontroller.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc]initWithImage:[UIImage imageNamed:@"icon.bundle/a2.png"] style:UIBarButtonItemStylePlain target:self action:nil];

 

//    viewcontroller.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc]initWithTitle:@"右侧标题" style:UIBarButtonItemStylePlain target:self action:nil];

    

    

//    注意:rightBarButtonItem 系统没有提供同时展示ImageView 和Title的办法,只能显示一个,同时写两个的时候只会显示后面那个的

//    可以自定义一个Button 有图片和文字的控件.

//    再设置为使用自定义的控件:[[UIBarButtonItem alloc]initWithCustomView:Button

    

    [self.navigationController pushViewController:viewcontroller animated:YES];

}

最新回复(0)