UIScrollView 中宽度和高度相等的动态按钮

Posted

技术标签:

【中文标题】UIScrollView 中宽度和高度相等的动态按钮【英文标题】:Dynamic Buttons in UIScrollView with Equal width and height 【发布时间】:2018-11-07 05:24:06 【问题描述】:

我想在滚动视图中根据屏幕尺寸显示具有动态高度的按钮列表。我可以在 UIView 中做到这一点,但是当我在 UIScrollView 中应用相同的自动布局方法时,它并没有增加按钮的大小。所以请指导我如何根据屏幕大小增加 UIScrollView 中的按钮大小。

【问题讨论】:

在不知道您做了什么的情况下,我们无法帮助您。告诉我们你做了什么。 在应用比例约束时选择主视图作为第二个视图而不是滚动视图,那么您将能够获得所需的结果。 我有两个视图 V1 和 V2。我对 V1 和 V2 应用了比例约束。并且 V2 包含滚动视图 S1,S1 包含具有相同高度的按钮和文本字段。我需要更改 S1 元素的高度基于屏幕高度。我按照下面的链接检查如何在视图中使用滚动视图并完全像那样应用自动布局。 medium.com/@pradeep_chauhan/… 【参考方案1】:

如果按钮是动态的并且将来可能比你增加和减少应该使用CollectionView而不是ScrollView

    CollectionView 拖入ViewController。 将单元格拖入CollectionView。 在 Cell.set 中添加按钮(或根据您的要求添加标签) button(leading,trailing,top,bottom) == Cell(leading,trailing,top,bottom) 编写 dataSource 和委托方法以及 UICollectionViewDelegateFlowLayout 方法。

并更改以下方法以根据屏幕增加按钮高度

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize 
    return CGSize(width: self.view.bounds.width/2, height: self.view.bounds.height*0.15)

【讨论】:

以上是关于UIScrollView 中宽度和高度相等的动态按钮的主要内容,如果未能解决你的问题,请参考以下文章

获取 UIScrollView 内的 UICollectionView 高度

UIScrollView 高度和宽度

UIScrollview 宽度不能与 iPhone 大小相等

动态调整 UITextView 的宽度和高度

向其内容添加宽度和高度约束后,UIScrollView 滚动停止工作

根据内容动态设置 UIScrollView 高度和 UITableView 高度