初学者如何新建一个封装的类来封装方法

第一步  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];

}

以上对初学者应该较有帮助

初学者如何新建一个封装的类来封装方法

时间: 2024-10-02 08:31:31

初学者如何新建一个封装的类来封装方法的相关文章

VC++下封装ADO类以及使用方法

操作系统:windows 7软件环境:visual studio 2008 .Microsoft SQL 2005本次目的:介绍一个已经封装的ADO类,简单说明怎么导入使用 首先声明一下,这个封装的ADO类是在[vc知识库 ]下载的,因为最近在数据库课程设计,所以对vc++下使用ADO连接数据库不是很了解,故若是本文有错误的地方的,请不吝指出.具体的ADO类各个封装功能请进入[原文地址 ]查看.在此仅介绍使用此ADO封装类的入门,如连接数据库,显示记录等.一个测试例子如下: 使用步骤:1.先从[

新建一个类并绑定一个activity

1.新建一个类(.java 文件),继承Android.app.Activityfile:///C:/Users/Administrator/AppData/Local/YNote/data/qqCF5BB3D81B91B8D7D6864565F0A07999/3e9138d3db6b4670bbc8c03209ad4dbd/clipboard.png2.新建一个activity 文件3.重写onCreate 方法,设置绑定activity 文件@Override    protected vo

新建一个名为MvcDemo的空解决方案

#@&*(&(&先附上源码下载地址一.准备工作1.新建一个名为MvcDemo的空解决方案2.新建一个名为MvcDemo.WebUI的空MVC应用程序3.使用NuGet安装Ninject库二.在ASP.NET MVC中使用Ninject1.新建一个Product实体类, jiankang.nen.com.cn/system/2015/03/03/016627403.shtmljiankang.nen.com.cn/system/2015/03/03/016628043.shtmlji

mootools1.5.1使用笔记:类的创建,继承,为现有类增加新方法

1 window.addEvent('domready',function(){ 2 /* 3 新建一个Person的类,类上有 name属性和sayHello方法: 4 */ 5 var Person= new Class({ 6 initialize: function(name){ 7 this.name = name; 8 }, 9 sayHello:function(){ 10 console.log('hello,my name is '+this.name); 11 } 12 13

block传值以及利用block封装一个网络请求类

1.block在俩个UIViewController间传值 最近刚学了几招block 的高级用法,其实就是利用block语法在俩个UIViewController之间传值,在这里分享给初学者,同时也方便我自己理解.我们知道UINavigationController类管理UIViewController的时候,利用的是"栈"的思想,在这里不做过多解释,切入正题,假设我们现在有俩个UIViewController,viewC1和viewC2,viewC1比viewC2先进入到UINavi

使用File类新建一个文本文件

新建一个a.txt的文本文件 1 import java.io.*; 2 3 public class NewFile{ 4 5 public static void main(String[] args) { 6 File f = new File("a.txt"); 7 try { 8 if(!f.exists()) 9 f.createNewFile(); 10 } catch (IOException e) { 11 12 e.printStackTrace(); 13 } 1

Direct-X学习笔记--封装一个网格模型类

之前学习了网格模型的导入,绘制,了解了X文件等相关知识,但是,那样绘制比较麻烦,而且绘制一个模型需要好多代码,完全是面向过程的思维,这次,学习一下怎么把网格模型的导入以及绘制等功能封装在一个类中.顺便加深一下对World Transform的理解.感觉自己的3D思维还是没有培养起来,想绘制一个对象,绘制出来和想象中的位置相差甚远. 一.复习一下网格模型相关知识 网格模型就是一个我们在美术工具中制作好的资源,通过一些API接口我们可以将美术童鞋做好的模型很方便的导入程序中.我们只需要了解怎样从文件

造轮子:新建一个属于自己的String类

练习造轮子,新建一个属于自己的MyString类 首先来开启检测内存泄漏的函数 在main里添加 _CrtSetDbgFlag(_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) | _CRTDBG_LEAK_CHECK_DF); 开启内存泄漏检测 int main() { _CrtSetDbgFlag(_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) | _CRTDBG_LEAK_CHECK_DF); int *p = new int; return

php自己封装一个Db类,跟tp5封装的类一模一样

上代码: <?php //自己创建一个数据库Db类 class Db { private $db_host;//主机名 private $db_user;//主机账号 private $db_password;//主机密码 private $db_name;//选择数据库 private $db_char;//选择字符集 private $link;//创建链接对象 public function __construct($db_host2,$db_user2,$db_password2,$db