将手势识别器添加到空白标签

Add gesture recognizer to a blank label

我有一个自定义的 table 单元格子类,如下所示:

其中 "Date:" 和 "Hours:" 是 UIButton,另外两部分是 UILabel。我在几个不同的文件中使用单元格,以编程方式添加适当的选择器。对于 UILabels,我将它添加到视图控制器的 cellForRowAt 方法中,如下所示:

(cell as? DateHoursCell)?.dateLabel.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(dateLabelTap)))

当标签有文本时这工作正常,但有时我加载的数据有 nil 值,当这种情况发生时,点击标签没有任何作用。我怎样才能使它们即使没有文本也仍然可以点击?

我不确定这是否是你的问题,但当没有文字时,你的标签大小可能会变为 0。我会为它定义一个固定大小,或者甚至更好,制作一个固定大小的父 UIView,然后将标签添加到它,然后将手势识别器添加到父 UIView。