首页 > 代码库 > 初学者如何新建一个封装的类来封装方法
初学者如何新建一个封装的类来封装方法
第一步 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]; }
以上对初学者应该较有帮助
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。