第一步 AppDelegate中引用导航器,并设置根视图,同时隐藏导航栏
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
ViewController1 *viewCtrl1 = [[ViewController1 alloc] init];
UINavigationController *navi = [[UINavigationController alloc] initWithRootViewController:viewCtrl1];
navi.navigationBarHidden = YES;
self.window.rootViewController = navi;
return YES;
}
第二步 设置一个方法Function,并让他继承UIViewController 然后在.m文件中实现这些方法,并在.h中声明
//封装按钮
- (UIButton *)gzybutton:(NSString *)image andFrame:(CGRect)frame0 andAction:(SEL)action0
{
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
UIImage *image1 = [UIImage imageNamed:image];
[btn setImage:image1 forState:UIControlStateNormal];
[btn addTarget:self action:action0 forControlEvents:UIControlEventTouchUpInside];
btn.frame = frame0;
[self.view addSubview:btn];
return btn;
}
//封装视图
- (UIImageView *)gzyView :(NSString *)image0 andFram :(CGRect)fram
{
UIImageView *imageView = [[UIImageView alloc] initWithFrame:fram];
UIImage *image = [UIImage imageNamed:image0];
[imageView setImage:image];
[self.view addSubview:imageView];
return imageView;
}
//封装所有日文按钮
- (UIButton *) japanNextFram :(CGRect)fram andAction :(SEL)action
{
UIButton *btn3 = [UIButton buttonWithType:UIButtonTypeCustom];
btn3.frame = fram;
// btn3.backgroundColor = [UIColor clearColor];
btn3.backgroundColor = [UIColor clearColor];
[btn3 addTarget:self action:action forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btn3];
return btn3;
}
//广告按钮的封装
- (UIButton *) creatAdBtn :(NSString *)title andFram :(CGRect)fram andAct :(SEL)act
{
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
[btn setTitle:title forState:UIControlStateNormal];
[btn setTitleColor:[UIColor purpleColor] forState:UIControlStateNormal];
btn.frame = fram;
btn.backgroundColor = [UIColor grayColor];
[btn addTarget:self action:act forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btn];
return btn;
}
后面新建UIViewController的子类的时候直接继承function即可
#import "Function.h"
@interface ViewController1 : Function
@end
.m文件中的代码就变得很简单了
- (void) creatView
{
[self gzyView:@"main_Bg" andFram:CGRectMake(0, 0, 320, 580)];
}
- (void) creatBtn
{
[self gzybutton:@"main_study" andFrame:CGRectMake(10, 400, 93, 163) andAction:@selector(nextStep)];
}
新建一个push跳转到下个类的对象
- (void) nextStep
{
ViewController2 *viewCtrl2 = [[ViewController2 alloc] init];
[self.navigationController pushViewController:viewCtrl2 animated:YES];
}
这是pop返回上个类的对象
- (void) back
{
[self.navigationController popViewControllerAnimated:YES];
}
这个按钮方法代表跳转到模态视图
- (void) jumpAd :(UIButton *)sender
{
AdViewController *adViewCtrl = [[AdViewController alloc] init];
UINavigationController *navi = [[UINavigationController alloc] initWithRootViewController:adViewCtrl];
navi.navigationBarHidden = NO;
// [self presentModalViewController:navi animated:YES];
[self presentViewController:navi animated:YES completion:nil];
}
以上对初学者应该较有帮助