我有一个collectionView(rootView)。在该视图下,有许多视图,例如userProfileView,ImageViews等。底部的两个视图是commentView和commentBoxView(它具有一个配置文件图像,一个textView
和一个imageView
发送的消息)。如果注释在json数据中为空白,那么我想隐藏“ commentView”,如果有数据,那么我想显示“ commentView”。 “ commentBoxView”将同时出现在两个条件中。
为此,我将插座连接高度设置为“ commentView”,并检查注释是否为空,然后我写了
commentViewHeight.constant = 0
commentView.isHidden = true
,如果有评论
commentViewHeight.constant = 130
commentView.isHidden = false.
现在的问题是,当出现“ commentView”时,它可以正常运行。但是当注释为空时{@ {1}}的commentBoxView高度会增加..我已两次检查textView
,但无法解决。请有人帮我解决这个问题。非常感谢您的帮助。
答案 0 :(得分:0)
如果您使用UIStackView
控制UI布局,则其中一个子视图变为hidden
时,它将自动调整UI布局。
在AutoLayout
视频中搜索一些WWDC
教程。有一种技术可以在一个UI组件上设置2组自动布局约束。例如,group A
和group B
约束。
在condition A
中,将group B
自动布局约束isActive
设置为false,将group A
设置为true。
在condition B
中,将group A
自动布局约束isActive
设置为false,将group B
设置为true。
我更喜欢2种以上的技术。切换子视图的UI状态时,它使UI动画变得容易。
有时,它需要调用UIView
的{{1}}和setNeedsLayout()
来刷新UIView框架及其子视图。