小编Jai*_*Jai的帖子

UIBarButton 调用操作后无法更改 UIView.isHidden 属性

我正在使用UIViewisHidden属性在我正在开发的发布界面上显示/隐藏控件。我使用它来更改键盘向上/向下时可用的控件,选择帖子类型等。我编写了一个由通知触发的方法,该方法设置视图属性(主要是.isHidden)并为更改设置动画,当键盘出现时调用该方法,或者当用户选择一种帖子类型,然后更改可供他们使用的控件时。这通常工作得很好,并且属性会按预期更改,但是当该方法由UIBarButton操作触发时,设置为可见的视图变得无响应。点击栏按钮后,我无法更改isHidden视图的属性(即使通过显式设置isHidden为 true 或 false ...它不会更改)。

这是更改视图属性的方法:

@objc func animateActionViewChange(_ sender: Notification) {
        // DEBUG
        print("\n[BEFORE]\nnormalActionView.isHidden: \(normalActionView.isHidden)\nkeyboardActionView.isHidden: \(keyboardActionView.isHidden)\nkeyboardUp: \(keyboardUp)\nactionViewActive: \(actionViewActive)")

        // save prev state
        let normalTemp: Bool = normalActionView.isHidden
        let keyboardTemp: Bool = keyboardActionView.isHidden

        // set new state based on env vars
        normalActionView.isHidden = keyboardUp ? true : !actionViewActive
        keyboardActionView.isHidden = keyboardUp ? !actionViewActive : true

        // DEBUG
        print("[AFTER]\nnormalActionView.isHidden: \(normalActionView.isHidden)\nkeyboardActionView.isHidden: \(keyboardActionView.isHidden)\nkeyboardUp: \(keyboardUp)\nactionViewActive: \(actionViewActive)")

        // animate opacity changes
        if normalActionView.isHidden …
Run Code Online (Sandbox Code Playgroud)

xcode ios swift

4
推荐指数
1
解决办法
675
查看次数

标签 统计

ios ×1

swift ×1

xcode ×1