【问题标题】:Make View visible outside TableViewCell使 View 在 TableViewCell 之外可见
【发布时间】:2020-04-15 18:39:19
【问题描述】:

是否可以在tableViewCell 中包含view 并使其即使在tableView-frame 之外也可见?

我需要这个来制作动画。我尝试设置clipsToBounde = false,但这并没有解决问题。 view 仍然在tableViewFrame 之外切开。

我的view里面tableViewCell

 func setupLoadingAnimation(){

    successAnimation.translatesAutoresizingMaskIntoConstraints = false
    successAnimation.clipsToBounds = false
    self.contentView.addSubview(successAnimation)

    successAnimation.leadingAnchor.constraint(equalTo: contentView.leadingAnchor, constant: -60).isActive = true
    successAnimation.centerYAnchor.constraint(equalTo: contentView.centerYAnchor).isActive = true
    successAnimation.widthAnchor.constraint(equalToConstant: 160).isActive = true
    successAnimation.heightAnchor.constraint(equalToConstant: 160).isActive = true

    successAnimation.isHidden = true
    successAnimation.loopMode = .playOnce
 }

【问题讨论】:

    标签: ios swift uitableview constraints


    【解决方案1】:

    您需要确保层次结构中的所有视图都将其剪辑设置为false。从successAnimation 的superview 开始,向上遍历层次结构,这将包括单元格的contentView 和table view 本身。

    您需要注意的另一件事是,稍后添加到层次结构中的视图如果处于同一级别,则将显示在其他视图之上,并且由于表格视图管理其单元格,因此很难知道哪些单元格将与您的动画重叠。

    要解决此问题,您可以在表格视图上调用 bringSubviewToFront() 并传递单元格,我会在执行成功动画之前执行此操作。

    另一种选择是将表格和成功视图放在共享父级中,这样您只需在添加视图时确保成功视图位于表格视图上方一次。

    【讨论】:

    • 谢谢 :) 实际上我只需要在tableView 中将剪辑设置为false。这是唯一需要的。
    猜你喜欢
    • 2011-04-07
    • 2013-07-26
    • 2020-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-16
    • 2023-02-07
    • 1970-01-01
    相关资源
    最近更新 更多