不想继承 UIViewController,总感觉中间多了一层,用起来始终不够畅快。直接继承 UIView,自定义一个 View 来当作一个类似于 UIButton 的控件来用岂不美哉?
Bogatyr 仁兄给我们提供了一个非常好用的实例,完全按照他的方法做即可!
现在摘录过来
MyView.h
@interface MyView : UIView { UIView *view; UILabel *l; } @property (nonatomic, retain) IBOutlet UIView *view; @property (nonatomic, retain) IBOutlet UILabel *l;
MyView.m
#import "MyView.h" @implementation MyView @synthesize l, view; - (id)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { // Initialization code. // [[NSBundle mainBundle] loadNibNamed:@"MyView" owner:self options:nil]; [self addSubview:self.view]; } return self; } - (void) awakeFromNib { [super awakeFromNib]; [[NSBundle mainBundle] loadNibNamed:@"MyView" owner:self options:nil]; [self addSubview:self.view]; } - (void) dealloc { [l release]; [view release]; [super dealloc]; }
MyView.xib
然后在其他的 View 中插入一个UIView并把类型改为 MyView 即可