隐藏/显示UI元素与添加/删除(快速)

0 xcode ios swift

因此,我正在创建一个使用Facebook登录的iOS应用。登录屏幕和主屏幕是相同的(使用相同的ViewController),并且在登录后可以调整内容。

从安全和性能的角度来看,什么是最好的适应屏幕的方法?

例如:我应该使用removeFromSuperview()和addSubview(view)还是ishidden = true / false?

Mr.*_*der 5

您应该只使用isHidden按钮的属性,因为:

  • 它使您免于一些样板代码,尤其是在使用插座的情况下

  • isHidden 可以轻松制作动画:

    UIView.transition(with: button, duration: 0.4, options: .transitionCrossDissolve, animations: {() -> Void in
    button.isHidden = true // or false depending on the need
    }, completion: { _ in })
    
    Run Code Online (Sandbox Code Playgroud)

    在工作时removeFromSuperview()会更困难:

     UIView.transition(with: segmentedControl, duration: 0.4, options: UIViewAnimationOptions.beginFromCurrentState, animations: {() -> Void in
            self.segmentedControl.alpha = 0.0
        }, completion: { (_ finished: Bool) -> Void in
            self.segmentedControl.removeFromSuperview()
        })
    
    Run Code Online (Sandbox Code Playgroud)
  • 与隐藏该元素相比,删除和添加UI元素只会为程序员增加代码和工作量,并弄乱了字节分配。

使用removeFromSuperview()或addSubview()当你想从上海华完全删除按钮,才应使用,最好不回来重新添加。

让我知道这是否有帮助,如果您有建议,请发表评论!