首先新建一個(gè)繼承自UIView的類,并創(chuàng)建相應(yīng)的XIB文件
#import <UIKit/UIKit.h>
@interface DemoView : UIView
+ (instancetype)demoView;
@end
提供一個(gè)類方法以供快速創(chuàng)建當(dāng)前類
在.m中實(shí)現(xiàn)類方法,通常從XIB中加載出來(lái)的是一個(gè)數(shù)組,所以用到了lastObject方法
+ (instancetype)demoView
{
NSArray *nibArray = [[NSBundle mainBundle] loadNibNamed:@"DemoView" owner:nil options:nil];
return [nibArray lastObject];
}
接下來(lái)直接在XIB中添加手勢(shì)
運(yùn)行結(jié)果:
-[UITapGestureRecognizer bounds]: unrecognized selector sent to instance
可以看到是消息發(fā)送錯(cuò)誤,UITapGestureRecognizer中沒(méi)有bounds方法。
打印nibArray
(
"<DemoView: 0x7d338fb0; frame = (0 0; 320 223); autoresize = W+H; layer = <CALayer: 0x7d3390c0>>",
"<UITapGestureRecognizer: 0x7d3383b0; state = Possible; view = <UIView 0x7d354490>>"
)
更改lastObject為firstObject
運(yùn)行OK!