gpt4 book ai didi

ios - SetHighlighted 在触摸而不是触摸时被调用

转载 作者:行者123 更新时间:2023-12-01 16:24:03 26 4
gpt4 key购买 nike

什么会导致setHighlighted:animated:被称为触地而不是触地?我有一个非常 slim 的子类 UITableViewCell ,仅由以下方法组成:

- (void)awakeFromNib

- (void)updateWithStuff:(NSString *)stuff

- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated

但是 setHighlighted:animated:在 touch up 而不是 touch down 时被调用。
我试过设置
self.selectionStyle = UITableViewCellSelectionStyleNone;


self.tableView.delaysContentTouches = NO;

official documentation没有说明何时调用 setHighlighted 的确切时间,但少数 Stackoverflow 答案似乎同意它首先在着陆时调用,并且 setHighlighted:animated:稍后调用。

我的信息是否不正确,是否有新的/更好的方法来获取单元格中的着陆事件?

编辑:

我尝试删除与 View 相关的任何 UIGestureRecognizers。
我还尝试使用默认 UITableViewCell 并使用默认选择样式,我得到了相同的结果。它会在您发布时突出显示。

最佳答案

setHighlighted gets called on touch up instead of touch down



实际上,它同时被调用:
  • highlighted 接触= true
  • 联系 highlighted = false

  • 此外,正在发送新鲜细胞 setHighlightedhighlighted = false显示时。请参阅下面动画中消息的时间安排:

    2 distinct highlighted
    ↻ replay animation

    你在打电话吗 super ?
    class TableViewCell: UITableViewCell {
    var row = 0

    override func setHighlighted(_ highlighted: Bool, animated: Bool) {
    super.setHighlighted(highlighted, animated: animated)
    print("setHighlighted row \(1+row): \(highlighted) animated: \(animated)")
    }
    }

    关于ios - SetHighlighted 在触摸而不是触摸时被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41454042/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com