Я установил UIScrollView
, с которым я хочу отобразить 12 изображений (только 8 поместиться на экране), расположенных горизонтально. На следующем изображении вы можете увидеть проблему, с которой я сталкиваюсь (что делает мой прокрутки не прокруткой), мои ограничения и UIScrollView
, которые я добавил в раскадровку:
Я вызвал следующий метод на -(void)viewDidLoad
, где я "установил" свой scrollview (itemList - это свойство просмотра прокрутки, а itemNames - массив с именами images):
- (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
, который я использую, чтобы выглядеть как панель навигации в нижней части экрана.
Я не знаю, что делать дальше, любая помощь приветствуется:)