随笔 - 714  文章 - 0  评论 - 12812  阅读 - 301万 

前言

IOS的界面,分为:状态栏、导航栏、主界面、底部状态栏。

本篇讲述导航栏的相关操作。

1、导航栏的高度

框架是自动布局和自适应的,所以提供了一个宏定义来表示导航栏的高度:

 

当页面布局,需要用到导航栏高度的时候,就用:STStatusHeightPx来使用。

2、导航栏控制显示与隐藏。

- (void)initUI
{
    [self needNavBar:NO];//隐藏导航栏。

参数控制显示或隐藏。

默认全局定义是显示,因此只要设置隐藏的页即即可,显示的页面不需要设置。

3、导航栏的文字或图标显示控制

方法定义:

//!设置左侧导航栏的按钮为文字或图片
-(UIViewController*)leftNav:(NSString*)title img:(id)imgOrName;

//!设置右侧导航栏的按钮为文字或图片
-(UIViewController*)rightNav:(NSString*)title img:(id)imgOrName;

1、设置标题参数(则显示文字)

 

 

2、设置图片参数(则显示图片)

 

 4、导航栏的点击事件:

方法定义:

//!左侧导航栏的默认点击事件 return YES 则系统调stPop返回方法。
-(BOOL)onLeftNavBarClick:(id)view;

//!右侧导航栏的默认点击事件
-(void)onRightNavBarClick:(UIBarButtonItem*)view;

示例代码:

 

5、隐藏导航栏底部的虚线

导航栏和主UI界面中间有一条阴影的虚线,可以设置隐藏。

 - (void)initUI
{
    [self hideNavShadow];
}

6、全局设置:一般在onInit中设置。

    [[[[[[UINavigationBar globalSetting] barTintColor:MainColor] tintColor:ColorWhite] titleTextAttributes:@{NSForegroundColorAttributeName : ColorWhite}]
     translucent:NO] backgroundImage:@"circle_bg" stretch:YES];

 

其它:

框架未处理的需要自定义的,就用原生的方法处理。

 

posted on   路过秋天  阅读(279)  评论(0编辑  收藏  举报
编辑推荐:
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
阅读排行:
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)
历史上的今天:
2010-08-14 MSSQL 2005 数据库变成可疑状态
路过秋天
点击右上角即可分享
微信分享提示