在向应用添加导航栏和工具栏之前,我们需要决定使用哪种布局。
Framework7在这方面很自由,有3种不同类型的导航栏/工具栏布局,它们对应着在页面/视图中的不同位置。
静态布局
静态布局可能是最少使用的布局。在这种情况下,导航栏和工具栏只是可以滚动的页面内容的一部分,每个页面都有它自己的导航栏和工具栏:
- <body>
- ...
- <div class="views">
- <div class="view view-main">
- <div class="pages">
- <div data-page="index" class="page">
- <div class="page-content">
- <!-- Top Navbar-->
- <div class="navbar">
- <div class="navbar-inner">
- <div class="center">Awesome App</div>
- </div>
- </div>
- <!-- /End of Top Navbar-->
- <p>Other content goes here</p>
- ...
- <!-- Bottom Toolbar-->
- <div class="toolbar">
- <div class="toolbar-inner">
- Hello
- </div>
- </div>
- <!-- /End of Bottom Toolbar-->
- </div>
- </div>
- </div>
- </div>
- </div>
- ...
- </body>
固定布局
在固定布局中,也是每个页面都有它自己的导航栏和工具栏,但是它们在屏幕上始终可见,不会随着页面内容滚动:
- <body>
- ...
- <div class="views">
- <div class="view view-main">
- <div class="pages">
- <!-- Now we need additional "navbar-fixed" and "toolbar-fixed" classes on Page -->
- <div data-page="index" class="page navbar-fixed toolbar-fixed">
- <!-- Top Navbar-->
- <div class="navbar">
- <div class="navbar-inner">
- <div class="center">Awesome App</div>
- </div>
- </div>
- <!-- /End of Top Navbar-->
- <div class="page-content">
- <p>Other content goes here</p>
- ...
- </div>
- <!-- Bottom Toolbar-->
- <div class="toolbar">
- <div class="toolbar-inner">
- Hello
- </div>
- </div>
- <!-- /End of Bottom Toolbar-->
- </div>
- </div>
- </div>
- </div>
- ...
- </body>
正如你所见,与静态布局相比,固定布局的不同之处在于:
-
导航栏和工具栏是Page的子元素(
<div class="page">
) -
每个页面拥有额外的“navbar-fixed”类(对于固定导航栏)和“toolbar-fixed”类(对于固定工具栏)
注意,如果你想要对单视图中的每个页面使用固定布局,可以直接在父页面(<div class="pages">
)上添加“navbar-fixed”和“toolbar-fixed”类,而不是对每个单页面分别添加。
穿透布局
This type of layout is only supported by iOS theme
这是最有趣,最被广泛使用的布局 —— 在不同页面间切换时,导航栏和工具栏保持不变。通过这种布局,可以实现酷炫的动态导航(不要忘记在视图初始化的时候启用它)。视图初始化)
- <body>
- ...
- <div class="views">
- <div class="view view-main">
- <!-- Top Navbar-->
- <div class="navbar">
- <div class="navbar-inner">
- <div class="center">Awesome App</div>
- </div>
- </div>
- <!-- /End of Top Navbar-->
- <!-- Now we need additional "navbar-through" and "toolbar-through" classes on Pages -->
- <div class="pages navbar-through toolbar-through">
- <div data-page="index" class="page">
- <div class="page-content">
- <p>Other content goes here</p>
- ...
- </div>
- </div>
- </div>
- <!-- Bottom Toolbar-->
- <div class="toolbar">
- <div class="toolbar-inner">
- Hello
- </div>
- </div>
- <!-- /End of Bottom Toolbar-->
- </div>
- </div>
- ...
- </body>
正如你所见,与静态和固定布局相比,穿透布局的不同之处在于:
-
导航栏和工具栏是视图的子元素(
<div class="view">
) -
具有穿透布局的导航栏和工具栏的视图拥有额外的“navbar-through”类(对于穿透类型的导航栏)和"toolbar-through"类(对于穿透类型的工具栏)。
混合布局
对于不同的视图,你可以使用不同的布局,比如在一个视图中使用固定布局,在另一个中使用穿透布局。其实,你也可以在单视图中混合使用这些布局。例如,你可以使用穿透的导航栏和固定的工具栏:
- <body>
- ...
- <div class="views">
- <div class="view view-main">
- <!-- Top Navbar-->
- <div class="navbar">
- <div class="navbar-inner">
- <div class="center">Awesome App</div>
- </div>
- </div>
- <!-- /End of Top Navbar-->
- <!-- Now we need additional "navbar-through" and "toolbar-fixed" classes on Pages -->
- <div class="pages navbar-through fixed-through">
- <div data-page="index" class="page">
- <div class="page-content">
- <p>Other content goes here</p>
- ...
- </div>
- <!-- Bottom Toolbar-->
- <div class="toolbar">
- <div class="toolbar-inner">
- Hello
- </div>
- </div>
- <!-- /End of Bottom Toolbar-->
- </div>
- </div>
- </div>
- </div>
- ...
- </body>
无导航栏/工具栏
当然,如果你不需要导航栏或工具栏,你大可不必包含它们,并且不用在page/pages/view中添加相应的类(“"navbar-fixed”,“navbar-through”,“toolbar-fixed”,“toolbar-through”)
速记表
正如你所见,这些布局都很容易理解,不同之处在于父元素上额外添加的类,以及不同的嵌套层级。下面是速记表
静态
- .view
- .pages
- .page
- .page-content
- .navbar
- // other page content
- .toolbar
固定
- .view
- .pages.navbar-fixed.navbar-through
- .page
- .navbar
- .page-content
- .toolbar
穿透
- .view
- .navbar
- .pages.navbar-through.toolbar-through
- .page
- .page-content
- .toolbar
相关推荐
2. **组件丰富**:内置了大量的UI组件,如导航栏、侧滑菜单、下拉刷新、滑动切换页面等,这些组件都模仿了iOS和Android原生的交互效果。 3. **触摸优化**:专门针对触摸设备进行了优化,提供了流畅的滑动和手势支持...
"自用iOS开发框架"是一个个人定制的框架,主要服务于iOS应用的导航栏(Nav)与底部标签栏(TabBar)的集成和管理。这个框架的目的是简化开发流程,提高代码复用性,并通过预封装的方法来快速实现这两个常用UI组件的...
Framework7 是一款专为iOS移动应用开发设计的前端框架,它提供了一套全面的工具集,使得开发者可以轻松创建出类似原生iOS界面的应用程序,同时保持高度的灵活性和定制性。这款框架以其简洁易用的API、丰富的组件库...
这款框架的设计灵感来源于iOS和Android的原生界面,使得开发者能够创建出与原生应用体验相似的Web应用。它提供了丰富的组件和API接口,适用于开发跨平台的Hybrid App或Web App。 在"framework7 demo"中,你将找到一...
FFmpeg是一个强大的跨平台的音频和视频处理工具集,而IJKMediaFramework则为iOS和Android提供了更方便的接口,简化了开发过程。 首先,IJKMediaFramework的核心功能包括: 1. **视频播放**:支持HTTP、RTSP、RTMP...
Epsilon Framework提供的模板包含了一系列预设的页面布局和元素样式,如头部、底部栏、导航栏、列表视图等,这些都遵循了iOS的设计原则,使得开发者可以快速搭建出具有iOS风格的页面。 5. **文件结构** 根据...
`Framework7`是一个轻量级的移动应用框架,设计灵感来源于iOS和Android的原生UI。它提供了丰富的组件和模板,可以帮助开发者快速创建出具有高度交互性和响应式的用户界面。`HiApp`项目正是利用了`Framework7`的这一...
Framework7则是一款流行的移动应用UI框架,它提供了一套完整的iOS和Android风格的组件,包括导航栏、侧滑菜单、表单元素等,使得开发者可以快速构建出原生感观的应用界面。当Aurelia与Framework7结合时,开发者可以...
其次,TabBarView是iOS应用底部导航栏的重要组成部分,它通常用于切换不同的主界面。MJFrameworkDemo提供的自定义TabBarView可能包含了丰富的样式设置,如文字颜色、选中状态下的图标和背景色等,这使得开发者可以...
2. **组件丰富**:提供了一系列的UI组件,如导航栏、侧滑菜单、表单元素、滑块等,这些都与iOS和Android的原生控件相仿。 3. **页面路由**:通过内置的路由系统,管理页面间的跳转和历史记录,使得应用的导航逻辑...
7. **响应式设计**:考虑到不同屏幕尺寸,需要确保工具栏在各种分辨率下都能良好展示。WPF的布局系统支持自动调整大小和位置,通过适当设置约束条件可以实现这一点。 8. **布局容器**:如`Grid`、`StackPanel`或`...
阅读器可能包含多个界面元素,如导航栏、工具栏、书签、目录等。这些通常使用UIKit框架中的UIViewController、UILabel、UIButton等控件构建。 5. **性能优化**:为了提供流畅的用户体验,源码可能包含了内存管理和...
6. **打包与部署**:说明如何通过Cordova命令将应用打包成原生的iOS或Android应用,并进行真机测试和发布。 7. **调试与优化**:分享了一些调试技巧,以及如何优化应用性能,使其在不同设备上运行流畅。 虽然没有...
流星框架7(Meteor Framework7)是将流行的前端框架Framework7与Meteor集成的工具,旨在为开发者提供更高效、更流畅的全栈JavaScript开发体验。它允许你在 Meteor 应用程序中无缝地利用 Framework7 的强大功能,为...
AppFramework,又称为 jqMobi,是一个轻量级的JavaScript框架,专为移动应用开发设计。它集成了jQuery的最佳实践,提供了丰富的UI组件和强大的功能,使得开发者能够快速构建高性能、跨平台的移动应用。本开发文档将...
iOS7的开发基础是学习iPhone编程的起点,涵盖了各种模板、基本框架和控件的使用。以下是对各个知识点的详细解释: 1. **项目程序模板**: - **Master-Detail Application**:适用于构建具有层次结构的导航应用,...
混合移动应用开发结合了Web和原生应用的优点,使用Web技术开发应用主体,然后通过像Cordova这样的桥接技术将应用打包成可以在各大移动平台(如Android、iOS)上运行的原生应用。 **知识点详解:** 1. **HTML5技术*...
- **定义与作用:** `UIKit` 是苹果公司为iOS应用开发提供的一套核心框架,它包含了用于构建用户界面的各种类和方法。通过这个框架,开发者可以轻松创建各种各样的用户交互组件和界面元素,比如按钮、标签、文本框等...
App Framework 7的CSS部分负责应用的视觉样式和布局。框架提供了预设的主题,可以轻松调整颜色、字体和间距,以适应不同品牌或设计需求。此外,响应式设计是其核心特点,确保应用在不同屏幕尺寸上都能良好显示。CSS...
12. **页面导航**: Weex使用URL Router实现页面间的跳转,通过组件如wxc-navbar、wxc-navpage、wxc-tabbar和wxc-tabitem来构建导航栏和底部Tab。 13. **多实例管理**: Weex的JS Framework可以管理多个实例...