我在Xcode 4.6中使用UIScrollview。我想在scrollview中插入大约30张图片。在故事板中我无法添加这么多,因为它实际上不允许您在故事板上向下滚动以添加更多图像,因此所有图像彼此重叠。
答案可能很简单,如果这是一个愚蠢的问题,那就很抱歉。如何将这么多图像添加到scrollview中,有没有办法在Android xml中编写代码?或者无论如何没有图像重叠?
答案 0 :(得分:2)
还要考虑使用UITableView。它可能是处理许多图像的更有效方式。您可以在显示它们时加载它们,而不是一次性加载它们。
答案 1 :(得分:1)
您不希望在Interface Builder中执行此操作 - 这将使其成为创建和维护的噩梦。
相反,在代码中执行此操作。您希望Google UIScrollView tutorial
开始使用。这真的很容易 - 比手动拖出一堆图像视图要容易得多。
答案 2 :(得分:1)
所以这是我以前解决过的问题。有几种方法可以解决这个问题我认为至少在iOS 6.x中你可以选择使用UICollectionView。
UICollectionView View Apple Docs
这是一个很棒的教程网站,里面有大量有用的信息
我提出的一个解决方案是手动加载和放置图像。然后根据所需的宽度大小,我设置了我的UIScrollView setcontentSize属性。
//Clean Up and remove old buttons
for(int i=0; i < _localButtonArray.count; i++){
[(CategoryButton*)[_localButtonArray objectAtIndex:i] removeFromSuperview];
}
[_localButtonArray removeAllObjects];
CGFloat baseX = 10,
X = 0,
Y = 0;
int xPadding = 20,
yPadding = 12,
index = 0,
maxRow = 4,
maxCol = 4,
colCount = 0;
CGRect buttonFrame;
buttonFrame.size.height = 137;
buttonFrame.size.width = 137;
buttonFrame.origin.y = X;
buttonFrame.origin.x = Y;
for(int i = 0;i < _localInfoArray.count ; i++){
id object = [_localInfoArray objectAtIndex:i];
if(index >= maxRow){
index = 0;
X = baseX;
Y += buttonFrame.size.height + yPadding;
if(colCount >= (maxRow * maxCol)){
colCount=0;
baseX += 637;
Y = 0;
}
}
X = baseX + (index * (buttonFrame.size.width + xPadding));
index++;
colCount++;
buttonFrame.origin.x = X;
buttonFrame.origin.y = Y + yPadding;
/*
* Custom button class
*/
CategoryButton * categoryButton = [[CategoryButton alloc]initWithFrame:buttonFrame Object:object];
//Add action
[categoryButton addTarget:self action:@selector(categoryButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
[categoryButton.titleLabel setNumberOfLines:3];
[categoryButton.titleLabel setLineBreakMode:NSLineBreakByWordWrapping];
[categoryButton.titleLabel setFont:[UIFont fontWithName:@"Helvetica-Bold" size:19]];
[categoryButton.titleLabel setTextAlignment:NSTextAlignmentCenter];
[categoryButton setMultipleTouchEnabled:NO];
[_localButtonArray addObject:categoryButton];
[self.view addSubview:categoryButton];
}
还有很多其他代码不在这里,但是在这里处理页面布局。 即使这不是最佳解决方案,但希望它能为您提供帮助。
祝你好运^ _ ^