我已经设置了一个UIScrollView
我想用它水平显示 12 张图像(屏幕上只能显示 8 张)。在下图中,您可以看到我遇到的问题(这使得我的滚动视图无法滚动)、我的约束和UIScrollView
我已将其添加到故事板上:
我已经调用了以下方法-(void)viewDidLoad
,我在其中“设置”我的滚动视图(itemList 是我的滚动视图属性,itemNames 是带有图像名称的数组):
- (void)setupHorizontalScrollView
{
self.itemList.delegate = self;
[self.itemList setTranslatesAutoresizingMaskIntoConstraints:NO];
[self.itemList setBackgroundColor:[UIColor blackColor]];
[self.itemList setCanCancelContentTouches:NO];
self.itemList.indicatorStyle = UIScrollViewIndicatorStyleWhite;
self.itemList.clipsToBounds = NO;
self.itemList.scrollEnabled = YES;
self.itemList.pagingEnabled = NO;
NSInteger tot=0;
CGFloat cx = 0;
for (; ; tot++) {
if (tot==12) {
break;
}
UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:[self.itemNames objectAtIndex:tot]]];
CGRect rect = imageView.frame;
rect.size.height = 40;
rect.size.width = 40;
rect.origin.x = cx;
rect.origin.y = 0;
imageView.frame = rect;
[self.itemList addSubview:imageView];
cx += imageView.frame.size.width;
}
[self.itemList setContentSize:CGSizeMake(cx, [self.itemList bounds].size.height)];
}
我添加了 [self.itemList setTranslatesAutoresizingMaskIntoConstraints:NO];因为我在其他帖子上看到了这个建议,但无论有没有它都不起作用。它起作用的唯一方法是如果我取消选中情节提要上的“使用自动布局”,但这会移动UIImageView
我过去常常将其视为屏幕底部的导航栏。
我不知道该怎么办了,感谢任何帮助:)
尝试将滚动视图的内容大小设置为“viewDidLayoutSubviews”方法,同时保持自动布局设置。
-(void)viewDidLayoutSubviews
{
[self.itemList setContentSize:CGSizeMake(required_width, required_height)];
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)