iOS Xcode制作静态库详解

iOS Xcode制作静态库详解

#import <UIKit/UIKit.h>   


       


@interface MyView : UIView   


       


@end   

创建视图类的.m文件

#import "MyView.h"   


@implementation MyView         


- (id)initWithFrame:(CGRect)frame   


    {   


        //初始化视图位置   


        self = [super initWithFrame:frame];   


        if (self) {   


               


        }   


        return self;   


    }     


- (void)drawRect:(CGRect)rect   


    {   


        //这里创建一个图片视图   


        UIImage *image=[[UIImage alloc]initWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://www.google.com.hk/intl/zh-CN/images/logo_cn.png"]]];   


        [image drawInRect:CGRectMake(0, 0,self.frame.size.width , self.frame.size.height)];   


        [image release];   


    } 


-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event   


    {   


      //点击视图后打开网页   


      [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.baidu.com"]];   


    }   


@end   

到这一步静态库中的代码我们已经写完,现在我们开始制作静态库。静态库的制作方法可分为两种:第一种为在真机上使用的静态库,第二种为在模拟器中使用的静态库。这两种方法制作起来有点小区别,请大家一定看好了,别眨眼睛喔, 我们开始从模拟器入手。

找到文件以后,默认为Debug-iphoneos / libsdklib.a ,但是这个文件是不能在模拟器中使用的,并且它也不能在真机中使用。你需要选择下面Debug-iphoneosimulator / libsdklib.a这个文件,将libSDKLib.a与对应MyView.h头文件拖拽入使用它的工程当中。

iOS Xcode制作静态库详解

接下来创建一个普通的IOS工程,先选择模拟器运行 iPhone5.0 Simulator ,然后将libSDKLib.a 与MyView.h拖拽添加至程序当中即可。

iOS Xcode制作静态库详解

运行工程即可看到效果,本例中通过URL加载了一张谷歌的LOGO,触摸点击该视图后打开百度的首页。

iOS Xcode制作静态库详解

iOS Xcode制作静态库详解

调用静态库的方法如下:

#import "ViewController.h"    


#import "MyView.h"    


@implementation ViewController    


- (void)didReceiveMemoryWarning    


    {    


        [super didReceiveMemoryWarning];    


        // Release any cached data, images, etc that aren't in use.    


    }     


    #pragma mark - View lifecycle    


- (void)viewDidLoad    


    {    


        [super viewDidLoad];    


        //创建静态库视图    


        MyView *myView = [[MyView alloc] initWithFrame: CGRectMake(0, 0, 120, 100)];    


        //将静态库视图添加至窗口当中    


        [self.view addSubview:myView];    


        [myView release];    


    }    


- (void)viewDidUnload    


    {    


        [super viewDidUnload];    


        // Release any retained subviews of the main view.    


        // e.g. self.myOutlet = nil;    


    }    


@end 

相关推荐