[英]Subclassing UIView and adding a property
我尝试子类化UIView。 因为我想在UIView中使用一个枚举,所以我可以检查游戏中是否需要两次敲击UIView。 但是我没有太多的子类化经验。 而且它不起作用。 还是我需要创建一个类别?
我所做的事情:
码:
#import <UIKit/UIKit.h>
typedef NS_ENUM(NSInteger, viewStaat) {
ENUMEnkelTap,
ENUMDubbelTap
};
@interface BannerView : UIView
@property (nonatomic, assign) viewStaat staatVanDeView;
@end
并在UIView的init中声明属性。
@synthesize staatVanDeView;
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
staatVanDeView = ENUMDubbelTap;
NSLog(@"Set");
}
return self;
}
日志没有被调用,所以我不知道出了什么问题。 staatVanDeView
的整数始终保持为0。
从情节提要板实例化视图时,不会调用-initWithFrame:
方法。 使用-initWithCoder:
代替:
- (id)initWithCoder:(NSCoder *)aDecoder
{
self = [super initWithCoder:aDecoder];
if (self) {
staatVanDeView = ENUMDubbelTap;
}
return self;
}
而且您不需要线
@synthesize staatVanDeView;
因为属性的getter和setter是在最近的iOS版本中自动创建的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.