navigation bar 分为三个部分,左按钮,右按钮和中间的View.
在Controller中可以通过以三个方式来引用:
-
self.navigationItem.titleView
-
self.navigationItem.leftBarButtonItem
-
self.navigationItem.rightBarButtonItem
左右按钮可以使用UIBarButtonItem来构造. 他默认有很多种按钮可攻选择:
typedef enum {
UIBarButtonSystemItemDone,
UIBarButtonSystemItemCancel,
UIBarButtonSystemItemEdit,
UIBarButtonSystemItemSave,
UIBarButtonSystemItemAdd,
UIBarButtonSystemItemFlexibleSpace,
UIBarButtonSystemItemFixedSpace,
UIBarButtonSystemItemCompose,
UIBarButtonSystemItemReply,
UIBarButtonSystemItemAction,
UIBarButtonSystemItemOrganize,
UIBarButtonSystemItemBookmarks,
UIBarButtonSystemItemSearch,
UIBarButtonSystemItemRefresh,
UIBarButtonSystemItemStop,
UIBarButtonSystemItemCamera,
UIBarButtonSystemItemTrash,
UIBarButtonSystemItemPlay,
UIBarButtonSystemItemPause,
UIBarButtonSystemItemRewind,
UIBarButtonSystemItemFastForward,
UIBarButtonSystemItemUndo, // available in iPhone 3.0
UIBarButtonSystemItemRedo, // available in iPhone 3.0
} UIBarButtonSystemItem;
通过构造初始化可以设置这些按钮的种类:
[[[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemPlay
target:nil action:NULL] autorelease];
除此之外,UIBarButtonItem还有几种外观风格:
typedef enum {
UIBarButtonItemStylePlain, // shows glow when pressed
UIBarButtonItemStyleBordered,
UIBarButtonItemStyleDone,
} UIBarButtonItemStyle;
当然按钮有风格之分, navigation bar 也有几种可选风格:
typedef enum {
UIBarStyleDefault = 0,
UIBarStyleBlack = 1,
UIBarStyleBlackOpaque = 1, // Deprecated. Use UIBarStyleBlack
UIBarStyleBlackTranslucent = 2, // Deprecated. Use UIBarStyleBlack and set the translucent property to YES
} UIBarStyle;
通过:navigationController.navigationBar.barStyle = UIBarStyleBlackTranslucent这样的语句就可以设置了.
这个UIBarStyle的风格还适用于UIToolbar. 并且UIToolBar中也是可以放置UIBarButtonItem的.
NSMutableArray *buttons = [[NSMutableArray alloc] initWithCapacity:4];
UIBarButtonItem *flexibleSpaceItem;
flexibleSpaceItem = [[[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace
target:nil action:NULL] autorelease];
[buttons addObject:flexibleSpaceItem];
[flexibleSpaceItem release];
UIBarButtonItem *item;
item = [[UIBarButtonItem alloc]
initWithImage:[UIImage imageNamed:@"down.png"]
style:UIBarButtonItemStylePlain
target:self
action:@selector(decrement:)];
[buttons addObject:item];
[item release];
item = [[UIBarButtonItem alloc]
initWithImage:[UIImage imageNamed:@"up.png"]
style:UIBarButtonItemStylePlain target:self
action:@selector(increment:)];
[buttons addObject:item];
[item release];
item = [[[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemPlay
target:nil action:NULL] autorelease];
[buttons addObject:item];
[item release];
flexibleSpaceItem = [[[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace
target:nil action:NULL] autorelease];
[buttons addObject:flexibleSpaceItem];
[flexibleSpaceItem release];
UIToolbar *toolbar = [[UIToolbar alloc] init];
toolbar.barStyle = UIBarStyleBlackOpaque;
[toolbar setItems:buttons animated:YES];
[toolbar sizeToFit];
分享到:
相关推荐
NavigationBar 的代码控制流程可以分为两部分:创建 NavigationBar 和添加 NavigationBar 到 WindowManager 中。 2.1、NavigationBar 创建 NavigationBar 的创建过程可以分为以下几个步骤: 1. 首先,通过 ...
首先,我们要了解`navigationBar`的基础用法。`UINavigationBar`是`UINavigationController`的一部分,它管理着一个堆栈式的视图控制器序列。当用户点击返回按钮时,系统会弹出栈顶的视图控制器,展示下一级的内容。...
在iOS应用开发中,自定义TabBar和NavigationBar是常见的需求,可以为用户提供更个性化的界面体验。本篇文章将深入探讨如何在iOS应用中实现自定义TabBar和NavigationBar,以及涉及的相关知识点。 首先,我们来讨论...
在Android开发中,`NavigationBar`是手机屏幕底部的标准组件,显示着应用的导航元素,如返回按钮、应用标题和操作菜单等。`NavigationBar`的动画效果可以为用户提供更丰富的交互体验,增强应用的视觉吸引力。本`demo...
6. **适配不同设备和方向**:确保在不同屏幕尺寸(iPhone和iPad)以及横竖屏切换时,自定义的`NavigationBar`依然能正常工作。 在压缩包中的“自定义NavigationBar_01”可能是项目的第一部分,可能包含了初始化...
在iOS开发中,导航栏(NavigationBar)是应用界面不可或缺的一部分,它通常承载着应用的标题、返回按钮和其他操作。在“ios-navigationBar渐变.zip”这个压缩包中,包含了一个实现“仿简书滑动隐藏NavigationBar”的...
NavigationBar 我的视频课程(基础):《(NDK)FFmpeg打造Android万能音频播放器》 我的视频课程(进阶):《(NDK)FFmpeg打造Android视频播放器》 我的视频课程(编码直播推流):《Android视频编码和直播推流》 ...
在微信小程序开发中,自定义NavigationBar是一项常见的需求,它能够帮助开发者实现个性化的设计,提升用户体验。这个压缩包“微信小程序自定义NavigationBar源码.zip”包含了完成这一任务的源代码,适用于学习、毕业...
在iOS应用开发中,滑动手势常常用于实现各种交互效果,比如在浏览图片或...这些是iOS开发中的基础但关键的技能,也是提升用户界面流畅性和易用性的关键点。理解并掌握这些知识点,对于开发高质量的iOS应用至关重要。
在Android应用开发中,`navigationBar`通常指的是底部导航栏,而根据提供的信息,这里似乎指的是一个自定义的头部工具类,用于实现Android应用顶部的ToolBar。这个工具类具有链式调用、兼容各种布局和沉浸式状态栏等...
总的来说,`NavigationBar`和侧滑菜单是Android应用中常见的交互元素,但实现时需要注意性能优化,确保流畅的用户体验。针对描述中的问题,可以从布局优化、动画性能、数据加载策略等方面入手,逐步排查和改进。
Android NavigationBar隐藏与浮层,Status Bar的隐藏与浮层效果,SystemBar(Status Bar 和Navigation Bar)设置 Immersive与Sticky Immersion风格
有些时候,我们需要知道当前手机上是否显示了NavigationBar,也就是屏幕底部的虚拟按键。 比如截屏的时候,要获取屏幕的高度,必须包括NavigationBar的高度。 试过网上的多种方法,但是对那种可以通过手势来显示/...
* 自动隐藏NavigationBar的帮助类 * * 代码测试环境: * 机型:华为(SCL-TL00H) * ANDROID版本:5.1.1 * 系统版本:EMUI3.1 * * TODO: 在EMUI3.1中发现,操作系统级别的NavigationBar时,当前应用设置的...
这个名为"IOS源码——ios适用于iOS 5、iOS 6和iOS 7的自定义NavigationBar.7z"的压缩包文件包含了适用于这三个iOS版本的自定义`NavigationBar`的源代码。本文将详细讲解如何在不同iOS版本中实现自定义`NavigationBar...
【Iphone3 开发基础教程】是一门针对初学者的教程,旨在帮助学习者掌握iPhone应用开发的基础知识。本教程可能包含一系列章节,通过实践项目和案例,逐步讲解iOS开发的关键概念和技术。以下是对每个压缩包子文件内容...
这个源码案例是支持改变NavigationBar和状态栏的颜色,源码Lib--ColorBars,Lib--ColorBars是易于使用的Android类库,用于动画改变ActionBar, NavigationBar和状态栏的颜色。
此压缩包"IOS源码——ios适用于iOS 5、iOS 6和iOS 7的自定义NavigationBar.zip"包含了适用于这三个iOS版本的自定义NavigationBar的源代码。下面将详细探讨iOS中自定义NavigationBar的相关知识点。 1. **iOS版本差异...