我尝试在向下移动所有现有项目时将项目添加到滚动视图的顶部。我不想删除现有的视图并重新添加它们。
这就是我构建我的滚动视图的方式:
for var index=0; index < data.users.count; index++
{
if data.users[index] as! String != ""
{
let myImageView:UIImageView = UIImageView()
myImageView.image = myImage
myImageView.contentMode = UIViewContentMode.ScaleAspectFit
myImageView.frame.size.width = imageWidth
myImageView.frame.size.height = imageHeight
myImageView.frame.origin.x = 0
myImageView.frame.origin.y = MyVariables.yPosition
self.myScrollView.addSubview(myImageView)
MyVariables.yPosition += imageHeight + spacer
MyVariables.scrollViewContentSize+=imageHeight + spacer
self.myChatScrollView.contentSize = CGSize(width: imageWidth, height: MyVariables.scrollViewContentSize)
}}
在向顶部添加新项目时,我是否可以将滚动视图中的现有项目向下移动?
// on button click, I want to shift everything down and add the new item on top
// without removing the current views
答案 0 :(得分:0)
为了更好地处理这类内容,你应该使用TableView,它可以在你添加删除和项目时更好地处理所有事情。
如果您的要求是使用滚动视图,那么您需要一步一步地完成。
首先,您需要通过更改框架原点(y)来移动项目。
- 为所有子视图运行一个for循环,并使你的视图框架为y +新视图的高度。
如果您使用自动布局,请确保处理所有约束。