scrollview将图像堆叠在彼此的顶部-xcode
我有一个滚动视图,子视图为图像。。当我将图片放在滚动视图的中心时,它们都以堆栈的形式出现在彼此的顶部。。我需要它们水平滚动。。我该如何解决这个问题?这是到目前为止我的代码scrollview将图像堆叠在彼此的顶部-xcode,xcode,image,scrollview,Xcode,Image,Scrollview,我有一个滚动视图,子视图为图像。。当我将图片放在滚动视图的中心时,它们都以堆栈的形式出现在彼此的顶部。。我需要它们水平滚动。。我该如何解决这个问题?这是到目前为止我的代码 - (void)viewDidLoad { [super viewDidLoad]; for (int i = 1; i < 18; i++) { UIImageView *images = [[UIImageView alloc] initWithImage:[UIImage ima
- (void)viewDidLoad
{
[super viewDidLoad];
for (int i = 1; i < 18; i++) {
UIImageView *images = [[UIImageView alloc] initWithImage:[UIImage imageNamed: [NSString stringWithFormat:@"%d.jpg", i]]];
images.frame = CGRectMake((i-1)*320, 0, 320, 330);
[scroller setContentOffset:CGPointMake(0, 0)];
[scroller addSubview:images];
[images setContentMode:UIViewContentModeScaleAspectFill];
[images sizeToFit];
//center image
CGSize boundsSize = scroller.bounds.size;
CGRect frameToCenter = images.frame;
// center horizontally
if (frameToCenter.size.width < boundsSize.width) {
frameToCenter.origin.x = (boundsSize.width - frameToCenter.size.width) / 2;
NSLog(@"%f", frameToCenter.origin.x);
}
else
frameToCenter.origin.x = 0;
// center vertically
if (frameToCenter.size.height < boundsSize.height)
frameToCenter.origin.y = (boundsSize.height - frameToCenter.size.height) / 2;
else
frameToCenter.origin.y = 0;
images.frame = frameToCenter;
scroller.pagingEnabled = NO;
}
[scroller setContentMode:UIViewContentModeScaleAspectFit];
scroller.delegate =self;
scroller.contentSize = CGSizeMake(320*17, 330);
scroller.backgroundColor = [UIColor blackColor];
pageControl.numberOfPages =17;
pageControl.currentPage = 0;
-(void)viewDidLoad
{
[超级视图下载];
对于(int i=1;i<18;i++){
UIImageView*images=[[UIImageView alloc]initWithImage:[UIImageName:[NSString stringWithFormat:@“%d.jpg”,i]];
images.frame=CGRectMake((i-1)*320,0320330);
[scroller setContentOffset:CGPointMake(0,0)];
[滚动添加子视图:图像];
[图像设置内容模式:UIViewContentModeScaleAspectFill];
[图片大小合适];
//中心图像
CGSize boundsSize=scroller.bounds.size;
CGRect frameToCenter=images.frame;
//水平居中
if(frameToCenter.size.width
要使图像水平居中,只需使用下面的代码即可
float scrollHeight = 0;
for (int col = 0; col < index; ++col)
{
CGRect selectFrame = CGRectMake(0,0,kOvrW,kOvrH);
selectionIndicator = [[UIImageView alloc] initWithFrame:selectFrame];
selectionIndicator.contentMode = UIViewContentModeBottomRight;
[selectionIndicator setImage:[UIImage imageNamed:@"checked"]];
CGRect frame = CGRectMake(5,kOvrPreY+col*(kOvrPreH+kOvrH),kOvrW,kOvrH);
UIView *fr = [[UIView alloc] initWithFrame:frame];
CGRect imgFrame = CGRectMake(5, 4, 68, 55);
UIImageView *imgView = [[UIImageView alloc]initWithFrame:imgFrame];
imgView.image = [UIImage imageNamed:[[subCategories objectAtIndex:col] valueForKey:@"add"]];
UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapAction:)];
tapGesture.numberOfTapsRequired = 1;
tapGesture.numberOfTouchesRequired = 1;
[fr setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"small-thumb"]]];
[fr addGestureRecognizer:tapGesture];
[fr addSubview:imgView];
fr.tag = col;
[subCatScroll addSubview:fr];
[subCatScroll bringSubviewToFront:fr];
scrollHeight += kOvrPreH+kOvrH;
}
subCatScroll.contentSize = CGSizeMake(subCatScroll.frame.size.width, scrollHeight+kOvrPreH);
float-scrollHeight=0;
for(int col=0;col
为了吸引更多的答案,你应该添加一个与你所使用的语言或工具相对应的标签。你可以通过在编辑页面底部添加标签来做到这一点。你使用的是什么平台?你是如何将所述子视图居中的?你能显示一些代码吗?