关于initWithFrame

继承 UIView ,重写该类的 initWithFrame ,在 initWithFrame 创建了 UIButton 添加 addTarget 后无法触发,是什么原因导致?
但是,继承 UIViewController 后,在该类的 viewDidLoad 中创建以及对应的事件则可触发;

阅读 3.6k
3 个回答

你确定你放的Viewcontroller的生命周期了吗?
controller的view是当前视图控制器的容器
viewDidLoad之前 容器还没创建呢 你不能操作控件的
iOS最典型的错误 就是 在初始化函数中操作 控件~
这个要注意~

UIView 的 initWithFrame 方法走到了吗?如果是从 IB 里链接出来的 view,它的初始化可能是通过 initWithCoder 方法。

设置view的property:userInteractionEnabled 为 YES。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题