代码之家  ›  专栏  ›  技术社区  ›  Chase Roberts

故事板正在初始化uiview而不是我的自定义类

  •  1
  • Chase Roberts  · 技术社区  · 6 年前

    我有一个自定义类 NumberView 哪个子类 UIScrollView . 我放了一个 UIView 在我的故事板上把课改成 数字视图 :

    Screenshot of storyboard

    然后我创造了一个出口 ShotTraceViewController 班级:

    @interface ShotTraceViewController () 
    @property (weak, nonatomic) IBOutlet NumberView *numberView;
    @end
    

    我在 NumberView.h NumberView.m :

    h:

    @interface NumberView : UIScrollView
    @property (weak, nonatomic) id<NumberViewDelegate> number_delegate;
    -(void)setTotalBtns:(int)total;
    ...
    @end
    

    M:

    @interface NumberView ()
    @end
    @implementation NumberView {
    }
    -(instancetype)initWithFrame:(CGRect)frame{
        self = [super initWithFrame:frame];
        return self;
    }
    -(instancetype)initWithCoder:(NSCoder *)aDecoder{
        self = [super initWithCoder:aDecoder];
        return self;
    }
    -(void)setTotalBtns:(int)total {
        NSLog(@"Setting buttons");
    }
    @end
    

    但当我试图打电话 [self.numberView setTotalBtns:3]; 从我 ShotTraceView控制器 . 我有个例外:

    -[uiview settotalbtns:]:发送到实例0x104fad3e0的选择器无法识别

    哇!不对,应该是 数字视图 不是一个 UIVIEW !我做错什么了吗?

    我还注意到initwithframe和initwithcoder都没有被调用。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Chase Roberts    6 年前

    我不知道为什么这样做,但不检查 Inherit Module from Target 类选择下面的按钮修复了所有问题。