Instagram Reels评论视图在swift



在我的应用程序中,我有一个类似的视图,如Instagram卷轴,视频播放,底部有个人资料图片,视频描述,喜欢按钮和评论按钮。

当我点击评论按钮,我想显示评论表视图控制器覆盖到半屏,与评论和inputbar accessoryview在底部如下:半屏视图控制器

当我点击inputbar accessoryview,评论视图控制器显示覆盖全屏,应该显示键盘如下:全屏视图控制器

请告诉我如何实现这种行为。

你可以在storyboard或代码中创建一个新的ViewController,然后设置setself.view.backgroundColor = .clear(或者,你可以通过使用自定义颜色来改变storyboard中视图的backgroundColor的不透明度)。

接下来,在故事板上放置一个UIView。为视图的高度约束创建一个@IBOutlet。你可以通过使用

获得视图的高度(ViewController的UIView,而不是你刚刚放置的那个)

let viewHeight = self.view.frame.size.height
self.commentsView.setHeight(viewHeight/2)

确保在setHeight:

项目中包含此扩展
extension UIView {
func setHeight(_ h:CGFloat, animateTime:TimeInterval?=nil) {
if let c = self.constraints.first(where: { $0.firstAttribute == .height && 
$0.relation == .equal }) {
c.constant = CGFloat(h)
if let animateTime = animateTime {
UIView.animate(withDuration: animateTime, animations:{
self.superview?.layoutIfNeeded()
})
}
else {
self.superview?.layoutIfNeeded()
}
}
}
}

最新更新