StackView isHidden 属性未按预期更新

2024-02-01

我正在尝试更新UIStackView以便显示一个字段,如果 a 的值UITextField equal "Other"。这是我的代码:

@IBOutlet var stackView: UIStackView!
func updateView() {
    print("UPDATING")
    UIView.animate(withDuration: 0.25, animations: { () -> Void in
         if(self.myTextField.text! == "Other") {
              print("SHOWING")
              self.stackView.arrangedSubviews[3].isHidden = false
         } else {
              print("HIDING")
              self.stackView.arrangedSubviews[3].isHidden = true
         }
         print("Is hidden: \(self.stackView.arrangedSubviews[3].isHidden )")
    })

示例输出如下所示:

> UPDATING
> HIDING
> Is hidden: true
> UPDATING
> SHOWING
> Is hidden: true

如您所见,isHidden属性报告为true,无论上面的代码将其设置为什么。我真的无法弄清楚为什么会这样,但也许这里有人可以?有什么明显的事情需要检查吗?有什么理由吗isHidden无法更新? (注意输出中没有出现错误)。


它被称为UIStackView bug (http://www.openradar.me/25087688 http://www.openradar.me/25087688)。 SO 上有一个关于它的线程:(Swift:从 stackView 中消失视图 https://stackoverflow.com/questions/40001416/swift-disappearing-views-from-a-stackview)。长话短说:

错误在于,在堆栈视图中隐藏和显示视图是 累积的。奇怪的苹果错误。如果在堆栈视图中隐藏视图两次, 您需要出示两次才能将其取回。

要解决此问题,您可以使用以下扩展:

extension UIView {
    var isHiddenInStackView: Bool {
        get {
            return isHidden
        }
        set {
            if isHidden != newValue {
                isHidden = newValue
            }
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

StackView isHidden 属性未按预期更新 的相关文章

  • 删除具有estimatedItemSize 的项目时 UICollectionView 单元格大小会调整

    我有一个简单的项目 其中的故事板仅包含一个UICollectionViewController 使用 Xcode 7 1 1 为 iOS 9 1 构建 class ViewController UICollectionViewControl
  • Swift 包管理器:“多个目标名为...”

    我正在尝试构建一个服务器端 Swift Web 应用程序 我的应用程序的基础框架将是Kitura https www kitura io来自IBM 此外 我还想利用AWS SDK Swift https github com noppoMa
  • 有没有办法阻止 iOS 上的 Safari 在关闭时清除网站的 cookie?

    我的移动网络应用程序的一位用户抱怨说 每次他关闭手机屏幕后使用该应用程序时 他都必须重新登录该应用程序 发生的情况是 当屏幕关闭时 或者当您通过双击主页按钮并滑开 Safari 来完全关闭 Safari 时 Safari 会清除该网站的 C
  • 如何从 iOS 应用程序检测不安全的 wifi 网络

    我想检测我的应用程序中是否存在不安全的 wifi 网络 是否有任何公共 iOS API 可以实现相同的目的 没有记录的 API 可以获取该信息 如果您的应用程序需要通过网络发送和接收敏感数据 您通常应该假设没有安全连接
  • 如何从日期中获取小时、分钟和上午/下午? [复制]

    这个问题在这里已经有答案了 我尝试从日期中提取小时 分钟和上午 下午 但我得到 NULL 输出 我在下面显示了我的代码 请查看 NSString dateStr 29 07 2013 02 00am NSDateFormatter form
  • iOS 解析如何通过 URL 下载文件

    我正在将 parse 用于我的聊天应用程序 当我上传文件时 我保留该 url 并将该 url 发送给其他用户 然后其他用户可以通过该 URL 下载文件 这是我上传文件的代码 void uploadBlob NSData blob fileN
  • iOS 11 浮动 TableView 标题

    有一个应用程序包含多个部分 展开 时每个部分有几行 折叠 时没有 每个部分都有一个部分标题 使用以下子类重用它们UITableViewHeaderFooterView等等 到目前为止一切顺利 然后在 iOS 11 中 我使用了可视化调试器
  • 在 Swift 中将动态 Int 变量从一个类传递到另一个类

    我是 swift 2 的新手 我陷入了将变量从一个类传递到另一个类的过程中 我有一个类 GameScene 我有一个公共变量score并且在更新功能中不断更新 我想发送score两个节点相互碰撞时的值 一旦它发生碰撞 我就会使用 mainv
  • 如何修复 ReactiveCocoa(带有 CocoaPods)的安装?

    这里是新手 尝试将 ReactiveCocoa 2 2 4 和 CocoaPods 安装到项目中 但在运行时遇到错误 我用过github 上的这个 podspec https github com CocoaPods Specs blob
  • UICollectionReusableView 方法未被调用

    我希望我的部分位于UICollectionView有一个带有图像的标题 我已按照以下步骤操作 在故事板中 分配了一个标题作为我的附件UICollectionView 给它一个标识符 创建了一个子类UICollectionReusableVi
  • NSDateFormatter:根据 currentLocale 的日期,不包含年份

    这不会太难吧 我想显示不带年份的日期 例如 8 月 2 日 美国 或 02 08 德国 它也必须适用于许多其他语言环境 到目前为止 我唯一的想法是对年份进行正常格式 然后从生成的字符串中删除年份部分 我认为你需要看一下 NSString d
  • ios 11 - UIBarButtonItem 内的 UIButton 导致自动布局错误

    我在将 UIButton 添加到 UIBarButtonItem 时遇到了一个已知问题 我尝试按照建议添加自动布局约束堆栈溢出 https stackoverflow com a 46336639 505603但我收到如下所述的错误 UIB
  • 如何更改 UINavigationController 后退按钮名称?

    我有一个UIViewController我正在从第一个视图控制器导航到第二个视图控制器 我想更改显示在navigationcontroller为了回去 SecondViewController secondController Second
  • 我如何从 iPhone 设备获取电子邮件历史记录..?

    friends 我想从我的 iPhone 访问电子邮件历史记录 并且还希望在收到新邮件时收到通知 如果可能的话 请向我提供源代码片段 Thanks 简而言之 使用任何已记录的 API 都是不可能的
  • UITextView:内存使用量巨大

    我在 UITextView 中遇到了内存使用过多的问题 我正在将 50Kb ascii 文本文件加载到 NSString 中 并将其分配给应用程序中空 UITextView 组件的 text 属性 这立即使我的内存占用量增加了 100Mb
  • 如何以编程方式使用资产目录图像的切片信息?

    我的项目中曾经有一个图像 我会像这样加载它 UIImage image UIImage imageNamed image name resizableImageWithCapInsets UIEdgeInsetsMake 10 0f 10
  • 断点条件错误

    我已经根据条件设置了断点 event name isEqualToString Some Name 这很好用 但是 当我尝试添加另一个带有条件的断点时 part name isEqualToString Some Value With A
  • Google Cloud Messaging 显示成功消息但未发送 iOS

    所以我在使用 Google Cloud Messaging 时遇到了一个非常奇怪的问题 我遇到的问题是它正在成功注册设备 并且当发送消息时我会收到来自 Google 的成功消息 但设备永远不会收到任何消息 我从 GCM 得到的消息是 res
  • 进入后台时 Alamofire 请求卡住?

    我正在使用 Alamofire 调用 Web 服务 该服务需要相当长的时间才能加载 如果应用程序进入后台 当我返回应用程序时 我会被加载程序卡住 我想这是因为调用永远不会向我的完成处理程序返回任何内容 我该如何解决这个问题 您可以使用后台抓
  • 选择 UITableViewCell 时 UIView 背景颜色消失

    我在界面生成器中构建了一个简单的 tableViewCell 它包含一个包含图像的 UIView 现在 当我选择单元格时 会显示默认的蓝色选择背景 但 UIView 的背景颜色消失了 我的 UITableViewCell 的实现文件没有做任

随机推荐

  • 获取特定键的所有值

    我在 mongoDB 中有一个数据 我想检索一个键的所有值 category 使用Python代码 我尝试了几种方法 但在每种情况下我都必须给出要检索的 值 任何建议 将不胜感激 id my id1 tags tag1 tag2 tag3
  • Keras 构建 9 维特征向量网络

    我有以下简单的数据集 它由 9 个特征组成 是一个二元分类问题 特征向量的示例如下所示 每行都有其对应的 0 1 标签 30 82 1 2 73 172 117 2 2 655 94 30 174 1 5 8 256 189 3 2 587
  • PHP:将数字四舍五入为 16 位小数

    嗨 我正在尝试将数字四舍五入16位小数但它只显示并且不会四舍五入直到14位小数 这是我的尝试 OUTPUT 0 16346153846154 预期输出 0 1634615384615385 我知道float只有 14 位十进制数字 还有其他
  • Windows 7 将 CTRL + j 映射到向下箭头键

    I have been searching for months for a way to map a key combination CTRL something to a directional key like down or up
  • QBOv3 XML 验证错误

    我正在尝试在批量请求中一起发送几个 Quickbooks 查询 我遵循了 Intuit 在这里提供的格式https developer intuit com docs 0025 quickbooksapi 0050 data service
  • 在内核调试模式下连接到目标机器时无法中断

    我正在启动一个包含 Windows 微过滤器的原型 我已经设置好了我的环境 目标虚拟机 实际上是 3 个 Windows 7 8 和 8 1 主机开发计算机 托管 Visual Studio 2013 和 HyperV VM 我终于设法将测
  • 设置特定配置文件时不加载 Spring bean

    背景 因此 我有几个与外部系统接口的 bean 对于开发来说 模拟外部系统并用一些产生或多或少静态响应的实现替换接口 bean 是很方便的 所以我一直在做的是创建一个接口 真正的实现和一个存根实现 如下所示 public interface
  • Colorbox:显示/模拟内联内容的“加载”动画

    您好 我正在使用 ColorBox 我们使用 jquery 在表单中执行了几个步骤 并且我们希望在等待 ajax 回复时显示 ColorBox 的加载动画 我们如何使用它 提前谢谢您 我认为你想要的是 fastIframe thediv c
  • 如何使用 jQuery UI 滑块动态更新 highcharts

    我正在寻找一种根据 jQuery UI 滑块确定的值动态更新 Highcharts 的方法 我还不太熟悉 AJAX 或 JSON 所以我运气不太好 我试图让收入在给定的月份内逐步增加 例如订阅服务 为了方便起见 我把它放在 jsFiddle
  • 如何测试预处理器符号是否#define'd但没有值?

    使用 C 预处理器指令 是否可以测试预处理器符号是否已定义但没有值 像这样的东西 define MYVARIABLE if defined MYVARIABLE MYVARIABLE blablabla endif EDIT 我这样做的原因
  • 从子进程触发 root 方法时的上下文

    我有这个非常简单的测试视图
  • 为什么 as_const 禁止右值参数?

    我想问为什么as const禁止右值参数 根据 http en cppreference com w cpp utility as constcppreference com 即为什么标准人员这样做 而不是为什么 cppreference
  • Play Framework 2 存储用户密码哈希的最佳方式

    我的应用程序中有一个添加用户选项 我想将用户密码以哈希格式存储在数据库中 密码以纯文本格式存储在框架附带的示例代码中 经过一番搜索后 我发现 play2 中实现了一个 Crypto encryptAES 函数 可用于保护密码 我的问题是使用
  • Chrome 调试器,水平滚动条在悬停时阻止变量值

    这种情况已经发生了几个星期了 在网上找不到任何东西 有人知道发生了什么事以及如何解决它吗 Screenshot 注意 我将鼠标悬停在包含字符串的变量上 这里真正的解决方法是在控制台窗口中放大 缩小 或者使用 Ctrl 0 重置缩放
  • 当 C++ 线程退出时,内存是否保持分配状态?

    我在 Linux 上使用 pthread 库 我在线程 A 中分配一个字符串 然后尝试在线程 B 中打印该字符串 但是 该字符串只是打印出空 我已经验证它在线程 A 中工作 注意 该字符串驻留在一个对象内 我怀疑该对象可能会被清理或重新实例
  • Vim 中的自动换行(保留缩进)

    我只是在看这个帖子 https stackoverflow com questions 744159 word wrap in gvim描述了如何在 vim 中将整个单词换行 接受的解决方案是这样的 set formatoptions l
  • 如何仅在 SQL Server 中选择未提交的行?

    我正在从事 DW 项目 我需要查询实时 CRM 系统 标准隔离级别会对性能产生负面影响 我很想使用未提交读取的无锁 事务隔离级别 我想知道有多少选定的行被脏读识别 也许你可以这样做 SELECT FROM T WITH SNAPSHOT E
  • JConsole 通过 ssh 本地端口转发

    我希望能够远程连接到公开了 JMX 的 Java 服务 但它被防火墙阻止了 我尝试使用 ssh 本地端口转发 但连接失败 查看wireshark 当您尝试连接jconsole时 它似乎在连接到端口9999后希望通过一些临时端口进行连接 这些
  • 创建动态实现接口的类

    我正在尝试编写一段代码 允许用户加载程序集 DLL 文件 在所述程序集中选择一个接口 然后生成一个继承该接口的类 并带有所有必需方法的存根 该类将生成到文件中或活动的 VS 会话中 该代码旨在在通过自定义模板创建项目期间初始化的 IWiza
  • StackView isHidden 属性未按预期更新

    我正在尝试更新UIStackView以便显示一个字段 如果 a 的值UITextField equal Other 这是我的代码 IBOutlet var stackView UIStackView func updateView prin