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