【发布时间】:2013-08-03 03:03:06
【问题描述】:
我已经设置了一个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];因为我在其他帖子上看到了这个建议,但不管有没有它都不起作用。唯一可行的方法是如果我取消选中情节提要上的使用 AutoLayout,但这会将 UIImageView我用作导航栏的 UIImageView移动到屏幕底部。
我不知道该怎么办了,感谢任何帮助:)
【问题讨论】:
标签: ios uiscrollview constraints autolayout