【问题标题】:.hidden = YES working but .hidden = NO not working.hidden = YES 工作,但 .hidden = NO 不工作
【发布时间】:2015-06-30 20:01:17
【问题描述】:

我有一个 UIImageView,在一个表格单元格中有一个自定义类,它也使用一个自定义类。 UIImageView 作为单元格的自定义类的属性连接。

UIImageView 有一个 UITapGestureRecognizer 调用方法被点击:我将单元格作为 UIImageView 的委托传递并尝试使用 cell.theOtherView.hidden = NO 取消隐藏另一个单元格视图 奇怪的是,隐藏 .hidden = YES 有效,但取消隐藏不是工作。

【问题讨论】:

  • 您确定重绘不是问题吗?即setNeedsDisplay?
  • 什么叫 setNeedsDisplay 和在哪里?
  • 与隐藏相比,取消隐藏包括重绘。那至少需要一个运行循环周期。您如何以及何时检查视图是否仍处于隐藏状态?
  • 您最好根据您的数据模型重新绘制受影响的单元格。当您点击按钮时,更改数据模型并重新加载受影响的行。可能是屏幕上的单元格不再是您认为要更新的单元格?

标签: ios objective-c uiview uiimageview


【解决方案1】:

如果不查看您正在使用的代码,很难知道发生了什么(例如,您的代码可能永远不会真正到达将视图设置为隐藏的行),但正如 MattyAyOh 建议的那样,值得尝试

[cell.theOtherView setNeedsDisplay];

在您设置cell.theOtherView.hidden = YES; 之后。这将强制视图重绘自身。

【讨论】:

    【解决方案2】:

    我的猜测是,一旦它被隐藏,它就不再接收到 Tap 手势。尝试使用cell.theOtherView.alpha = 0.0

    【讨论】:

      【解决方案3】:

      你应该先将你的对象注册到.h文件,然后你可以使用隐藏函数

      【讨论】:

        猜你喜欢
        • 2013-08-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-05
        • 2012-12-10
        • 1970-01-01
        相关资源
        最近更新 更多