在上一个工程中,New File,选择Objective-Category,基类型UILabel,名称ClickButton
//
// UILabel+ClickButton.h
// ClickButton
//
// Created by cloud on 13-3-19.
// Copyright (c) 2013年 cloud. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface UILabel (ClickButton)
-(void) setShowTitle:(NSString *)text;
@end
//
// UILabel+ClickButton.m
// ClickButton
//
// Created by cloud on 13-3-19.
// Copyright (c) 2013年 cloud. All rights reserved.
//
#import "UILabel+ClickButton.h"
@implementation UILabel (ClickButton)
-(void) setShowTitle:(NSString *)text
{
self.text=[NSString stringWithFormat:@"你按下了%@键",text];
}
@end
UILabel中就多了一个新的方法:setShowTitle,修改ViewController.m文件。
//
// ViewController.m
// ClickButton
//
// Created by cloud on 13-3-19.
// Copyright (c) 2013年 cloud. All rights reserved.
//
#import "ViewController.h"
#import "UILabel+ClickButton.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (IBAction)pressButton:(UIButton*)sender {
//_lblInfo.text=[sender titleForState:UIControlStateNormal];
[_lblInfo setShowTitle:[sender titleForState:UIControlStateNormal]];
}
- (void)dealloc {
[_lblInfo release];
[super dealloc];
}
@end
运行结果如下:
说明:category可以为类添加新的方法,但不能添加新的成员变量。
源码地址:点击打开链接