首先新建一个继承自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!
网友评论