UINavigationController介绍


1、创建navigation。

如果是想直接把navigation导航作为项目一开始的跟视图,把RootViewController.h文件里的nav属性放到AppDelegate.h里即可,再把RootViewController.m文件里的action的代码复制到 AppDelegate.m里的didFinishLaunchingWithOptions 方法里,最后把>

 1 #import <UIKit/UIKit.h>
 2 @class FirstViewController;
 3 
 4 @interface RootViewController : UIViewController
 5 
 6 @property (strong,>

 

在RootViewController.m 文件里的随意一个自定义action里:

 1 - (IBAction)btnClick:(UIButton *)sender {
 2     
 3     //创建一个viewcontroller
 4     FirstViewController *fristview =[[[FirstViewController> [[[UINavigationController alloc] initWithRootViewController:fristview] autorelease];
 9     
10     
11     //初始化UINavigationController(方式二)
12   // >13   //  [self.nav>18     
19     
20     //跳转到FirstView页面
21     [self presentViewController:self.nav animated:YES completion:nil];
22     
23     
24     //这种写法一般用于往view里添加一些小控件,如button  label textField之类的,不适宜用于页面跳转
25     // [self.view addSubview:self.nav.view];
26     
27     
28 }


2、设置viewcontroller的navigationItem属性和 toolbar、toolbarItem

(1)firstViewcontroller的navigation属性和toolbarItem属性。代码在firstviewcontroller.m的viewdidLoad方法里

每个viewcontroller都有一个navigationItem属性(只在被加载到导航堆栈里才有效),navigationItem属性里又有5个属性:UIBarButtonItem类型的leftBarButtonItem、rightBarButtonItem和backBarButtonItem,NSString类型的title(或者viewcontroller属性的titleView)、prompt。

 1 - (void)viewDidLoad
 2 {
 3     [super>@"首页";
 9     
10     //在title上面再加多一行,但这样子就会造成导航栏的宽度变宽
11   // >12     
13     //设置rightbarbuttonitem
14     UIBarButtonItem *rightbar = [[[UIBarButtonItem>> [[UIBarButtonItem> [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:nil action:nil];
29     UIBarButtonItem *flexItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
30     
31     //toolbar是整个navigation堆栈里的view共同的,但toolbar上面的items却是每个view单独拥有的
32     //现在只是设置了当前view的toolbaritem,与其他view的toolbaritme是没有关系的
33     [self setToolbarItems:[NSArray arrayWithObjects:flexItem, three, flexItem, four, flexItem, nil]];
34     
35     [three release];
36     [four release];
37     [flexItem release];
38    
39     
40 }


页面效果如下:

 

(2)、secondviewcontroller的navigationItem和toolbarItem

代码在viewdidLoad方法里

 1 - (void)viewDidLoad
 2 {
 3     [super> [[[UIBarButtonItem> [[[UIBarButtonItem> rightbar;
12    > leftbar;
13     
14     //当前view在navigation堆栈里不是rootview,所以把该viewpush到navigation堆栈里时,tabbar左边会显示backbarbutton
15     //如果给当前view设置了leftbarbutton,会把把backbarbutton覆盖掉,想同时显示两者,需如下设置:
16    > YES;
17 
18     
19     
20     //设置当前view的toolbar可见.因为有可能从一个toolbar不可见的view导航到当前view
21    > NO;
22     
23 }


效果如下:

 

(3)、thirdviewcontroller的navigationItem和toolbaritem

 1 - (void)viewDidLoad
 2 {
 3     [super>@"第三页";
 5     // Do> [[[UIBarButtonItem> rightbar;
14     
15    // NSArray *array = @[@"排骨", @"牛排"];
16     
17     //设置titleview,会覆盖title
18     UISegmentedControl *segment = [[[UISegmentedControl> UISegmentedControlSegmentCenter;
20     
21    > segment;
22 }

效果如下:

 

8、添加UIBarButtonItem

bar ButtonItem分左右UIBarButtonItem。我们把左右的都添加上去。

在RootViewController.m中添加代码如下:

[cpp]  view>
  •     self.navigationItem.leftBarButtonItem = leftButton;  
  •       
  •     UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd  target:self action:@selector(selectRightAction:)];  
  •     self.navigationItem.rightBarButtonItem = rightButton;<p class="p1">}</p>  
这样添加了UIBarButtonItem了,效果如下:



这里重点介绍下

UIBarButtonItem *leftButton = [[UIBarButtonItemalloc]initWithBarButtonSystemItem:UIBarButtonSystemItemActiontarget:selfaction:@selector(selectLeftAction:)];

UIBarButtonSystemItemAction的风格,这是系统自带的按钮风格,看下图,你不用一个个试验,你也知道想用那个item,如下图:





基于SSM框架的智能家政保洁预约系统,是一个旨在提高家政保洁服务预约效率和管理水平的平台。该系统通过集成现代信息技术,为家政公司、家政服务人员和消费者提供了一个便捷的在线预约和管理系统。 系统的主要功能包括: 1. **用户管理**:允许消费者注册、登录,并管理他们的个人资料和预约历史。 2. **家政人员管理**:家政服务人员可以注册并更新自己的个人信息、服务类别和服务时间。 3. **服务预约**:消费者可以浏览不同的家政服务选项,选择合适的服务人员,并在线预约服务。 4. **订单管理**:系统支持订单的创建、跟踪和管理,包括订单的确认、完成和评价。 5. **评价系统**:消费者可以在家政服务完成后对服务进行评价,帮助提高服务质量和透明度。 6. **后台管理**:管理员可以管理用户、家政人员信息、服务类别、预约订单以及处理用户反馈。 系统采用Java语言开发,使用MySQL数据库进行数据存储,通过B/S架构实现用户与服务的在线交互。系统设计考虑了不同用户角色的需求,包括管理员、家政服务人员和普通用户,每个角色都有相应的权限和功能。此外,系统还采用了软件组件化、精化体系结构、分离逻辑和数据等方法,以便于未来的系统升级和维护。 智能家政保洁预约系统通过提供一个集中的平台,不仅方便了消费者的预约和管理,也为家政服务人员提供了一个展示和推广自己服务的机会。同时,系统的后台管理功能为家政公司提供了强大的数据支持和决策辅助,有助于提高服务质量和管理效率。该系统的设计与实现,标志着家政保洁服务向现代化和网络化的转型,为管理决策和控制提供保障,是行业发展中的重要里程碑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值