美文网首页
20190719问题总结

20190719问题总结

作者: 陈大帅 | 来源:发表于2019-07-19 11:21 被阅读0次

问题一:

在我的工程中,label只是设置了userInteractionEnabled为yes,但没有添加tap点击手势。但是在把label添加到cell上时,点击label却不响应cell:

之前我以为把cell上的label设置userInteractionEnabled为yes时,就算不添加tap点击手势,当点击label时都不会响应父视图cell,因为在我的工程中一直都是这样。
但是最近看了另一个demo中label的userInteractionEnabled就算设置为yes,但是只要不添加tap手势,你点击lable时,还是会响应cell。

这让我百思不得其解,我不知道哪个是正常的,然后我又自己写了个demo,发现,果然label的userInteractionEnabled就算设置为yes,但是只要不添加tap手势,你点击lable时,点击动作还是会作用到label 的父视图上的,因为点击的传递是:当子视图不能响应点击事件时,就会传递给父视图响应。然后我给lable上加了longPress手势,然后再单击label,这时新写的demo中的label还是不会响应单击,而是会作用在父视图上。但是当长按时,lable会响应longPress手势,这是因为在label上添加了longPress手势。

所以综上所述,就是我的工程中的label有问题,所以才会导致只设置了userInteractionEnabled为yes,但没添加tap点击手势时也不会把点击手势传递给父视图。这个问题困扰了我好几天,最后研究发现,是因为我工程中有个lable的类别类,这个类别类中有个关键代码是这么写得:

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
 if (!self.isTapAction) {
        return;
    }
}

上面的代码有问题,那就是,只要label的userInteractionEnabled为yes,那么touch这个动作就不会被传递到父视图上去,因为没有调用[super touchesBegan:touches withEvent:event];

改成:

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
 if (!self.isTapAction) {
        [super touchesBegan:touches withEvent:event];
    }
}

就好了。

问题二:

当父视图是xib创建的时,引用的子视图也会走awakeFromNib方法,而不不会走initWithFrame方法

事情是这样的:视图中的cell是xib创建的,cell中的label也是xib拖的,为了给lable添加长按手势,我把cell中的label引用从UILabel换成了我自己封装的AKMLinkLabel,但是我发现,AKMLinkLabel不走init方法。后来才发现,当我把cell中的lable引用从UIlabel换为AKMLinkLabel时,其实AKMLinkLabel就是xib创建的了,所以他不会走init方法,而是会走awakeFromNib方法。

image image image

相关文章

  • 20190719问题总结

    问题一: 在我的工程中,label只是设置了userInteractionEnabled为yes,但没有添加tap...

  • 20190719《穷查理宝典》阅读总结-芒格主义:查理的即席谈话

    18-李理可第4章 芒格主义:查理的即席谈话20190719《穷查理宝典》阅读总结-芒格主义:查理的即席谈话(7)...

  • 20190719

    刚才看书评,不经意地,在别人的评价里看到了一部电影《call me by your name》。说的是男女主人公的...

  • 20190719

    狂风暴雨中

  • 20190719

    额额额额额额额额额额额额额额额额额我不明白我寄几额额额天生的吸引力嘛再给我给我我点时间叭吧我再缓缓缓应该就可以了绝...

  • 20190719

    【打卡始于20180318持续打卡于20190719 姓名:富智燚 单位:海南蔚蓝时代实业有限公司 361期努力一...

  • 20190719

    今天的状态还行。早上坐了题目,还有一个月,题目要赶紧做。 今天一天都在整理文件,准备交接的工作。我发现,工作效率的...

  • 20190719

    20190717,培训一整天。晚上欢聚。 20190718,飞行前找了凌宗伟老师,第一次见面,很友善的一个小老头。...

  • 20190719

    1.上市在国内得盈利,在香港和国外盈利没有那么严。

  • 20190719

    事件记录 今天上紧下松。上午到了办公室,就开始准备周二的资料,一上午印刷了会前学法的资料,做完了四个外部资料。11...

网友评论

      本文标题:20190719问题总结

      本文链接:https://www.haomeiwen.com/subject/kvjjlctx.html