`

新风作浪博客学习(十六)Navigation + Tab Bar 常用组合框架 .

    博客分类:
  • ios
ios 
阅读更多
看到很多项目中都采用的是Navigation加Tab Bar组合到一起,完成视图切换操作,在导航栏上添加基本按钮,给予响应事件,让应用给用户更好的体验,所以本菜鸟写了这个这样一个Demo,仅供学习

所创建工程模板是最后一个 Empty Application
[img]

[/img]


先看运行效果:
第一个视图,点击按钮切换视图,点击导航栏上按钮可以切换回去

[img]

[/img]

[img]

[/img]

第二个视图设置了背景颜色和透明度  第三个视图添加了背景图片

[img]

[/img]

[img]

[/img]

第四个视图,在导航栏上添加了两个按钮,左边按钮属于自定义标题,右边按钮是系统的图标,点击左按钮弹出一个警告,右边按钮没有添加响应事件,点击后没反应

[img]

[/img]

[img]

[/img]


Tab Bar上添加的都是自定义图片




框架组合的主要代码,在AppDelegate.m中
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.
    self.window.backgroundColor = [UIColor whiteColor];
    
    _tabBarController = [[UITabBarController alloc] init];
    _tabBarController.delegate = self;
    

    FirstViewController *firstViewController = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil];
    
    SecondViewController *secondViewController = [[SecondViewController alloc] initWithNibName:@"secondViewController" bundle:nil];
    
    ThirdViewController *thirdViewController = [[ThirdViewController alloc] initWithNibName:@"ThirdViewController" bundle:nil];
    
    FourViewController *fourViewController = [[FourViewController alloc] initWithNibName:@"FourViewController" bundle:nil];
    
    UINavigationController *navFirst = [[UINavigationController alloc] initWithRootViewController:firstViewController];
//    在加载图片是把标题都覆盖了,所以运行效果并没有显示这些文字
    navFirst.title = @"第一个视图";
    
    UINavigationController *navSecond = [[UINavigationController alloc] initWithRootViewController:secondViewController];
    navSecond.title = @"第二个视图";
    
    UINavigationController *navThird = [[UINavigationController alloc] initWithRootViewController:thirdViewController];
    navThird.title = @"第三个视图";
    
    UINavigationController *navFour = [[UINavigationController alloc] initWithRootViewController:fourViewController];
    navFour.title = @"第四个视图";
    
    
    _tabBarController.viewControllers = [NSArray arrayWithObjects:navFirst,navSecond,navThird,navFour, nil];
    _window.rootViewController = _tabBarController;
    
    [self.window addSubview:firstViewController.view];
    [self.window makeKeyAndVisible];
    return YES;
}



第一个视图切换按钮响应事件
- (IBAction)switchView:(id)sender {
    
    FirstViewController *firstController = [[FirstViewController alloc] init];
    [self.navigationController pushViewController:firstController animated:YES];
    firstController.title = @"第一个视图另一个视图";
}




第四个视图添加两个按钮方法,在最后一个控制机的.m文件中的-(void)viewDidLoad方法中
- (void)viewDidLoad
{
    [super viewDidLoad];
	// Do any additional setup after loading the view.
    UIBarButtonItem *leftButton = [[UIBarButtonItem alloc] initWithTitle:@"测试"
                                                                   style:UIBarButtonItemStylePlain target:self
                                                                  action:@selector(pullWarn)];
    self.navigationItem.leftBarButtonItem = leftButton;
    
    UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCamera target:self action:nil];
    self.navigationItem.rightBarButtonItem = rightButton;
}





  • 大小: 61.7 KB
  • 大小: 22.4 KB
  • 大小: 27.3 KB
  • 大小: 21.8 KB
  • 大小: 224.4 KB
  • 大小: 23 KB
  • 大小: 69 KB
分享到:
评论

相关推荐

    Navigation + Tab Bar 常用组合框架

    在iOS应用开发中,`Navigation`和`Tab Bar`是两种非常常见的界面组件,它们的组合使用能够构建出用户友好的多层级导航结构。这里我们将深入探讨这两种组件以及它们的结合使用。 首先,`Navigation Controller(导航...

    IOS应用源码——Navigation + 分組tableView的DemoNavigation.rar

    在iOS应用开发中,Navigation Controller和TableView是两个非常核心的组件,它们的组合使用能够创建出功能丰富的用户界面。此“IOS应用源码——Navigation + 分組tableView的DemoNavigation.rar”压缩包提供了一个...

    android安卓app 标题栏+导航栏+Tab页.zip

    在Android应用开发中,标题栏(Title Bar)、导航栏(Navigation Bar)以及Tab页是构建用户界面的关键元素,它们提供了一种直观的方式,帮助用户理解应用程序的结构并进行操作。以下是对这些概念的详细解释: 1. **...

    struts+spring+mybitas+mysql框架完整工程代码.zip

    Struts、Spring、MyBatis和MySQL是Java Web开发中常用的四大框架,它们结合使用能够构建出高效、灵活的企业级应用程序。在这个名为"struts+spring+mybitas+mysql框架完整工程代码.zip"的压缩包中,包含了使用这四个...

    IOS应用源码——Navigation + 分組tableView的DemoNavigation 2.zip

    在iOS开发中,Navigation Controller是苹果的UIKit框架中的一个重要组件,它负责管理多个ViewController之间的导航流程,通常用于实现屏幕间的跳转。而TableView则是用于展示列表数据的常用视图,分组功能可以让数据...

    集成Hibernate3.6.8+Spring3.0.6+struts2.2.3.0

    标题中的"集成Hibernate3.6.8+Spring3.0.6+struts2.2.3.0"指的是一个经典的Java Web开发框架整合,它将三个强大的开源框架——Hibernate、Spring和Struts2结合在一起,以实现高效、模块化且可维护的Web应用程序。...

    Struts2+Spring+Hibernate3.2+整合文档及事例程序.zip

    Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们的整合应用极大地提升了开发效率和系统的可维护性。在“Struts2+Spring+Hibernate3.2+整合文档及事例程序.zip”这个压缩包中,包含了这些框架的集成教程...

    ios应用源码之动态tab bar 2018127

    本资源“ios应用源码之动态tab bar 2018127”提供了一个实现动态Tab Bar的示例代码,对于学习iOS开发尤其是自定义Tab Bar功能具有很大的参考价值。 首先,我们要理解iOS中的Tab Bar Controller工作原理。它是由苹果...

    linearlayout+imageview+textview实现底部导航栏.zip

    在Android应用开发中,底部导航栏(Bottom Navigation Bar)是一种常见的UI设计,它允许用户在应用的多个顶级视图之间快速切换。这个“linearlayout+imageview+textview实现底部导航栏.zip”压缩包文件提供了使用...

    Struts2教程+所有例子的源代码.zip

    Struts2是一个强大的Java web开发框架,用于构建可维护、结构清晰且易于扩展的企业级应用程序。这个压缩包“Struts2教程+所有例子的源代码.zip”提供了丰富的学习资源,帮助开发者深入理解并掌握Struts2的核心概念和...

    sencha touch app框架nav+tab和nav+menu

    本资源包含两个示例,分别是基于“nav+tab”和“nav+menu”的应用框架,这两种都是在移动应用开发中常见的导航模式。 1. **Nav+Tab框架**: 在移动应用中,"nav+tab"通常指的是底部导航栏结合顶部标签页的布局方式...

    ssh+mysql整合[参考].pdf

    SSH(Struts2、Spring、Hibernate)是一种常见的Java Web应用程序开发框架组合,用于构建高效、模块化和可扩展的企业级应用。在这个组合中,Struts2作为MVC(Model-View-Controller)框架负责处理用户请求和展示视图...

    Struts 2.1 + Spring 2.0.8 + Hibernate 3.1.rar

    这个压缩包文件组合了这三个框架的特定版本,旨在提供一个集成的开发环境,便于开发者快速搭建基于MVC模式的Java Web应用。 **Struts 2.1** Struts 2是Apache软件基金会的开源项目,是一个强大的MVC框架,它在...

    Vue+ElementPlus构建的CMS开发框架.zip

    综上所述,这个"Vue+ElementPlus构建的CMS开发框架"利用了Vue.js的强大学习曲线和ElementPlus的优秀组件库,为开发者提供了一个高效、易用的平台来创建内容管理系统。通过熟练掌握这两个工具,开发者可以构建出功能...

    关于如何彻底搞定Android Kitkat+沉浸式状态栏效果.zip

    | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION // hide nav bar | View.SYSTEM_UI_FLAG_FULLSCREEN // hide status bar | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY; decorView.setSystemUiVisibility(flags); } ``` ...

    Android Material Bottom Navigation使用教程

    Material Design的组件库包含了许多元素,如按钮、输入框、导航抽屉等,而Bottom Navigation是其中之一。本教程将详细介绍如何在Android项目中使用Material Design的Bottom Navigation。 Bottom Navigation是一种...

    xwork-2.0.5-src+xwork-2.0.5-jar.zip

    通过深入学习其源码和使用JAR文件,开发者可以更好地理解和定制框架,提升项目的开发效率和质量。无论是初学者还是经验丰富的开发者,都应该对XWork有深入的理解,以应对复杂的企业级应用场景。

    BottomNavigationView实现material design 的tab选项卡效果

    在Android应用开发中,...以上就是如何使用`BottomNavigationView`在Android应用中实现Material Design的tab选项卡效果。通过适当的定制和布局设计,可以创建出符合Material Design规范且用户体验良好的底部导航栏。

    React-Native 实现点击Tab标签切换Tab页面

    在实际开发中,你可能还需要处理更复杂的需求,比如添加Tab切换的动画、设置未选中时的图标样式、自定义Tab Bar的背景色等。这可以通过调整`Tab.Navigator`的配置项以及`Tab.Screen`的`options`属性来实现。 总结来...

    IOS应用源码——tab bar controller 自定义颜色和演示demo.zip

    Tab Bar Controller是UIViewController的子类,通常包含一个或多个Tab Bar Item,每个Item对应一个Navigation Controller或单独的ViewController。用户点击Tab Bar Item时,会切换到相应的ViewController。 自定义...

Global site tag (gtag.js) - Google Analytics