Ustawiłem UIScrollView
, w którym chcę wyświetlić 12 obrazów (tylko 8 pasuje na ekranie) ułożonych poziomo. W poniższym obrazku widać problem mam (co sprawia, że mój pogląd przewijania nie przewijania), moje ograniczenia i UIScrollView
które dodałem na Storyboard:iOS: Autolayout powodujący brak przewijania UIScrollView
nazwałem następujący sposób na -(void)viewDidLoad
, gdzie "utworzenia" my Scrollview (ITEMLIST moim zdaniem zwój własność i itemNames tablicę z images'names):
- (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)];
}
i dodaniu [setTranslatesAutoresizingMaskIntoConstraints self.itemList NO]; ponieważ widziałem tę sugestię w innych postach, ale nie działa z lub bez niej. Jedyny sposób, w jaki to działa, to jeśli odznaczam użycie AutoLayout w scenorysie, ale to przesuwa UIImageView
Używam wyglądać jak pasek nawigacji na dole ekranu. Nie wiem już co robić, każda pomoc jest mile widziana :)
Próbowałem usunąć jeden z nich, ale nie wiem jak to zrobić. Mógłbyś mi powiedzieć? – dietbacon
Kliknij małą ikonę koła zębatego na wiązaniu i usuń ją, jeśli pozwala, lub zmień ją tak, aby była mniej szczegółowa (na przykład zmienna lub automatyczna - więc nie ma to znaczenia). –
po tym etapie, autolayout będzie coraz ważniejszy dla programowania interfejsu iOS/Mac i programowania interfejsu użytkownika. Osadzanie w widoku naprawdę pomogło mi zrobić przewijany widok pracy, jednocześnie wykorzystując wszystkie zalety autolayout. –