用label的话通过改变lable的numberoflines ,比如未折叠时最多显示4就设为4,展开时设为0,其它的按钮之类的通过lable的大小改变位置就行了。建议用autolayout
跟UIScrollView没关系。要隐藏的话,如果布局是代码写的,就把下面所有的控件的位置都往上移;如果是Autolayout就好说一些,把要隐藏的控件添加高度为0的约束就可以了。展开反之。
也可以考虑选择用UITableView,隐藏/展开只要增减行就可以,感觉上要方便一些。
ps: https://segmentfault.com/q/1010000002492218