当我在技术讨论组里面发出这个问题时,有同学就直接质疑:label里面怎么可以加button呢???
一开始我还笑话这位同学呢,UIButton和UILabel都是继承于UIView的,怎么不可以添加!!!
但是,你在storyboard活着xib里面往label拖button怎么拖也拖不进去,系统始终会将button直接放在label的父视图上,所以我也怀疑了。
再但是,你用纯代码写上面的操作是,然后用View Hierarchy查看层级关系,button确实是作为了label的子视图。
但此事,怎么点击button都没响应,群里某大神就说了,人机交互没打开。
我说,默认是打开的啊,而且往刻意打开了,也不行啊。
又某位大神说:button是继承自响应者,所以才能点击,label继承自view,label默认是不响应点击时间的。
真是一语惊醒梦中人,响应链的关系,打开button父视图的人机交互不就可以了吗
上代码吧:
UILabel *label = [[UILabel alloc] initWithFrame:(CGRect){100, 100, 100, 100}];
// [label setBackgroundColor:[UIColor cyanColor]]; //设置button的父视图时,父视图的颜色会把全部的子视图覆盖,使子视图看不见(但有时候又行,我也不知道是什么缘故)
[label.layer setBorderWidth: