繁体   English   中英

iOS:动态高度UIScrollview自动布局

[英]iOS: dynamic height UIScrollview autolayout

我制作了像Facebook这样的文章详细信息视图。 该视图具有内容(个人资料图像,作者,日期,内容文本)和评论写视图。 所以顶视图是UIScrollview ,底视图是UIView。

UIScrollView具有UIImageviewUILabel*3UIView具有UITextViewUIButton

当在UIView触摸UITextView时,键盘会出现。 因此, UIScrollview将更小,并且UIView位置将被移动。 并且用户将写文本,将添加UITextView行,以便扩展UIView Size。

最终, UIScrollviewUIView高度无法确定。

如何设置自动布局此视图?

可以尝试:我在下面说的是关于约束的:UIScrollView顶部,左侧,右侧等于self.view顶部,左侧,右侧UIScrollView底部等于UIView底部UIView左侧,右侧,底部等于self.view左侧,右侧,底部UIView高度相等200(您设置)

OK,当您触摸UITextView时,将UIView高度限制设置为所需的值(可能是300)

我认为它有效!

我建议您不要使用textView和按钮的UIView,而只需添加一个scrollView设置其约束,如下所示

在此处输入图片说明

然后在滚动视图中添加一个UIView作为容器视图(选择滚动视图转到Editor,选择Embed In,然后选择View)并按如下所示设置其约束

在此处输入图片说明

现在,一一添加您的imageView,标签,textView和按钮,并确保已设置要查看的imageView的顶部空间和要查看的按钮(位于屏幕底部)的底部空间,以及所有其他视图的顶部空间和底部空间滚动视图可以最轻松地确定其所需的高度。

最后一件事,当用户在textView中单击时,您可能需要向上移动scrollView以便使用户在键入时可以看到textView,要实现这一简单解决方案,只需从此处下载库“ TPKeyboardAvoiding”,将所有类添加到您的项目并完成后,将您的scrollView的自定义类设置为'TPKeyboardAvoidingScrollView'。 清理并运行项目,它应该可以工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM