您的位置:首页 > 产品设计 > UI/UE

UINavigationController-UIBarButtonItem(翻页)

2015-09-16 22:19 211 查看
在AppDelegate.m里实现:(注意得向里面导入#import "ViewController.h")
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// 有些功能不好实现
可以在code4APP里面找
self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
ViewController *viewcontroller = [[ViewController alloc]init];
#pragma mark ------UINavigationController
UINavigationController *nv = [[UINavigationController alloc]initWithRootViewController:viewcontroller];//初始化导航控制器
设置导航控制器的对一个页面
self.window.rootViewController = nv;//

[self.window makeKeyAndVisible];
return YES;

}

在ViewController.m里实现:
#import "ViewController.h"
#import "TWOViewController.h"
@interface ViewController ()
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor grayColor];
self.title = @"首页";
UIButton *pushButton = [UIButton buttonWithType:UIButtonTypeCustom];
pushButton.frame = CGRectMake(100, 200, 100, 40) ;//push:推
[pushButton setTitle:@"进入下一个页面" forState:UIControlStateNormal];//Title:标题 State:规定、陈述
[pushButton addTarget:self action:@selector(next) forControlEvents:UIControlEventTouchUpInside];//selector:选择器(主要是用来调用方法的)Inside:里面
[self.view addSubview:pushButton];
}
-(void)next
{
// 通过导航控制器跳到下一个页面
TWOViewController *two = [[TWOViewController alloc]init];
[self.navigationController pushViewController:two animated:YES];//用动画用YES
}
在TWOViewController.m里实现:
#import "TWOViewController.h"
#import “JoinViewController.h"
- (void)viewDidLoad {
// 如果跳到这个页面没有设置背景颜色 就会出现 push卡顿现象
[super viewDidLoad];
self.view.backgroundColor =[UIColor brownColor];
// 设置导航的标题
self.title = @"登录";
// 自定义返回按钮
UIBarButtonItem *left = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(back )];//设置控制栏上的按钮 调用这个方法可以返回上一个界面
left.tintColor = [UIColor redColor];//设置显示button的颜色
self.navigationItem.leftBarButtonItem = left;//设置导航栏上面的内容:设置内容里面的左侧按钮的属性 navigation:导航

UIButton *pushButton = [UIButton buttonWithType:UIButtonTypeCustom];
pushButton.frame = CGRectMake(100, 200, 100, 40) ;//设置button按钮
[pushButton setTitle:@"进入下一个页面" forState:UIControlStateNormal];//设置button里面的内容
[pushButton addTarget:self action:@selector(next ) forControlEvents:UIControlEventTouchUpInside];//调用一下next方法进入下一个界面
[self.view addSubview:pushButton];
}
-(void)next
{
JoinViewController *join = [[JoinViewController alloc]init];
[self.navigationController pushViewController:join animated:YES];
}
- (void)back
{
[self.navigationController popViewControllerAnimated:YES];//Animated:活跃的 动画的
}
在JoinViewController.m里实现:
#import "JoinViewController.h"
- (void)viewDidLoad {

[super viewDidLoad];
self.view.backgroundColor = [UIColor lightGrayColor];
self.title = @"注册";

UIButton *pushButton = [UIButton buttonWithType:UIButtonTypeCustom];
pushButton.frame = CGRectMake(100, 200, 100, 40) ;
[pushButton setTitle:@"返回首页" forState:UIControlStateNormal];
[pushButton addTarget:self action:@selector(backHome) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:pushButton];

UIBarButtonItem *back = [[UIBarButtonItem alloc]initWithTitle:@"Back" style: UIBarButtonItemStylePlain target:self action:@selector(backHome)];
back.tintColor = [UIColor grayColor];//色调颜色
self.navigationItem.leftBarButtonItem = back;

UIButton *right = [UIButton buttonWithType:UIButtonTypeCustom];
right.frame = CGRectMake(CGRectGetWidth(self.view.frame)-50-10, 0, 70, 30);
// right.backgroundColor = [UIColor purpleColor];
[right setBackgroundImage:[UIImage imageNamed:@"88.png"] forState:UIControlStateNormal];
right.showsTouchWhenHighlighted = YES;
// [self.navigationController.navigationBar addSubview:right];

UIBarButtonItem *item = [[UIBarButtonItem alloc]initWithCustomView:right];
self.navigationItem.rightBarButtonItem = item;
}
-(void)backHome
{
[self.navigationController popToRootViewControllerAnimated:YES];

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: