gpt4 book ai didi

uitableview - 短暂暂停后,iOS 7 UITableViewCell 背景透明度变得不透明

转载 作者:行者123 更新时间:2023-12-01 02:13:41 27 4
gpt4 key购买 nike

我有一个 UITableView,它在 View 上以模态呈现。表 View 中的一个单元格是故意透明的,以便下面的 View 可见。问题在于,在 IOS 7.1 中,单元格开始时是透明的,然后立即变得不透明。在 iOS 8 下,透明单元格技术完美运行。

问。有没有人看到这个并提出有效的解决方法?

我尝试过的东西

  • 调整 cell.backgroundColor
  • 调整 cell.backgroundView
  • 调整 tableView.backgroundColor
  • 调整 tableView.backgroundView
  • 设置 tableView.opaque = YES;
  • 在 tableView:cellForRowAtIndexPath 中进行调整:
  • 在 tableView:willDisplayCell:forRowAtIndexPath 中进行调整:
  • 使用全透明胶片
  • 使用部分透明胶片
  • 使用透明图片
  • [[UITableViewCell 外观] setBackgroundColor:[UIColor clearColor]];

  • 基本上,只要将任何透明度引入背景,它就会发生变化(稍作停顿后变得不透明)。

    enter image description here

    要在 iOS7 下重新迭代,透明度非常短暂(不到 1/2 秒),然后它变得不透明。

    这是效果的视频: Link

    最佳答案

    与其关注 tableview 及其单元格,不如查看呈现(底部) View Controller 。我相信(虽然我目前找不到官方文档),当您对一个 View Controller 进行标准模式演示时,演示 View Controller 的 View 会在演示后从 View 层次结构中删除。使用一个简单的测试应用程序,呈现 View Controller 的 -viewWillDisappear: 被调用并记录关键窗口的 -recursiveDescription 显示呈现 View Controller 的 View 已被删除。

    但是,如果您使用自定义过渡,则呈现 View Controller 的 View 会保持原位(大概是为了实现这种透明效果)。

    编辑:我整理了一个快速示例应用程序(此处:https://github.com/sjc/ViewControllerTransitionExample)以 1) 说明标准和自定义模式表示之间的行为差​​异,以及 2) 展示如何构建基本的 UINavigationController 子类来解决此问题(该技术通常只应用于直接的 UIViewController 子类)。

    但是......虽然在这种情况下这可以用来解决问题,但它并没有回答“这里发生了什么?”问题,因为该示例并没有完全重现您所看到的内容:呈现 View Controller 在 iOS 7 和 8 上都消失了,而不仅仅是在 7 上,如原始问题中所述。那好吧。

    关于uitableview - 短暂暂停后,iOS 7 UITableViewCell 背景透明度变得不透明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27066210/

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