我在使用Pod SwiftEntryKit时遇到问题。
我正在尝试展示具有滚动视图的自定义视图,并且在uiView中包含以下内容:
这是我的SwiftEntryKit设置:
let popupView = TwoButtonPopupView(frame: .zero)
var attributes = EKAttributes()
attributes.position = .center
let widthConstraint = EKAttributes.PositionConstraints.Edge.ratio(value: 0.8)
let heightConstraint = EKAttributes.PositionConstraints.Edge.ratio(value: 0.6)
let contentViewHeight = popupView.contentView.frame.height
print("beforeDisplay", contentViewHeight)
attributes.positionConstraints.maxSize.height = EKAttributes.PositionConstraints.Edge.constant(value: contentViewHeight)
attributes.positionConstraints.maxSize.width = widthConstraint
attributes.positionConstraints.size.height = heightConstraint
attributes.positionConstraints.size.width = widthConstraint
attributes.lifecycleEvents.didAppear = {
print("afterDisplay", popupView.contentView.frame.height)
}
SwiftEntryKit.display(entry: popupView, using: attributes)
因此,所需的输出是一个恰好是屏幕尺寸宽度的80%和最大屏幕尺寸高度的60%的弹出窗口,但是如果内容较短,则它应该适合内容(换句话说:它应该恰好是内容大小,但不超过60屏幕的百分比)
但是我的输出在这里:
我发现显示弹出窗口后可以使用正确的contentView高度。控制台输出:
["0": "beforeDisplay", "1": "775.5"]
["0": "afterDisplay", "1": "396.0"]
但是无法弄清楚在显示弹出窗口之前如何获得该值。你能帮我看看吗?