iOS 中的自定义视图问题

Issue with a custom view in iOS

这怎么可能?

PlayingCardView *view = [[PlayingCardView alloc] initWithFrame:currentFrame];
if ([view isKindOfClass:[PlayingCardView class]])
    NSLog(@"checked!");

下面的 if 不起作用。但是,它说我的视图是UIView class,而不是继承自UIView的PlayingCardView。问题是因为它我无法将 PlayingCardView 的消息发送到我的视图。

更新:

- (instancetype) initWithFrame:(CGRect)frame {
    self = [super initWithFrame:frame];
    [self setup];
    return self;
}

如果您以错误的方式为 PlayingCardView 覆盖 initWithFrame,则有可能。您可能正在做类似 self = [[UIView alloc] initWithFrame:] 而不是 self = [super initWithFrame:] 的事情。检查您为 PlayingCardView.

覆盖的任何 init 方法