UIScrollView nicht scrollen, obwohl contentSize ist kleiner als UIImageView
Also ich habe ein UIImageView
als Untersicht UIScrollView
ich habe den contentSize
kleiner zu sein als die UIImageView
Breite und Höhe, jedoch ist es mir nicht erlaubt, zu scrollen.. warum ist das so? Hier einige code:
UIImage * image = [UIImage imageWithData:data];
UIImageView * imgView = [[UIImageView alloc] initWithImage:image];
[imgView setUserInteractionEnabled:YES];
//[imgView setContentMode:UIViewContentModeScaleAspectFill];
[imgView setBackgroundColor:[UIColor clearColor]];
[imgView setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight];
[imgView setFrame:CGRectMake(0, 0, imgView.frame.size.width, imgView.frame.size.height)];
CGRect imgFrame;
imgFrame.size.width = originalImageSize.width;
imgFrame.size.height = originalImageSize.height;
imgFrame.origin.x = imageOriginPoint.x;
imgFrame.origin.y = imageOriginPoint.y;
UIScrollView * imgScrollView = [[UIScrollView alloc] initWithFrame:imgFrame];
[imgScrollView setScrollEnabled:YES];
[imgScrollView setClipsToBounds:YES];
[imgScrollView addSubview:imgView];
[imgScrollView setBackgroundColor:[UIColor clearColor]];
[imgScrollView setFrame:imgFrame];
[imgScrollView setContentSize:CGSizeMake(200, 200)];
SCROLL VIEW CONTENT SIZE WIDTH IS 200.000000 AND HEIGHT CONTENT SIZE IS 200.000000
UIIMAGE VIEW WIDTH IS 2240.225830 AND HEIGHT IS 2240.225830
SCROLL VIEW FRAME WIDTH IS 768.000000 AND SCROLL VIEW FRAME HEIGHT IS 768.000061
Irgendeine Idee?
- versuchen Sie, diese...imgScrollView.contentSize = imgView.frame.Größe;
- funktioniert nicht allzu
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das ist, weil, dass Ihre Größe an die Grenzen der scroll-Ansicht größer ist, als Ihr Inhalt Größe.
Die Größe des Inhalts werden müssen, um die tatsächliche Größe des Bildes anzeigen, und die sichtbare Größe ist festgelegt durch die frame /bounds. Ich denke, Sie möchten, scrollen Sie ein Bild in eine {200, 200} Größe rect?
Versuchen Sie dies:
Ich weiß, das ist alt, aber ich möchte darauf hinweisen, dass beim erstellen einer
UIScrollView
im code der wichtigste Satz ist:scrollView.scrollEnabled = YES;
Wenn Sie nicht festlegen, dass Ihre
contentSize
ist irrelevant.scrollEnabled
istYES
. Sie nicht müssenscrollEnabled
zuYES
im code, es sei denn, Sie haben zuvor festgelegt, esNO
.die kitschige Art und Weise, dies zu tun ist, immer die contentSize größer als die Größe der view. Aber es gibt eine Eigenschaft von Swift ermöglicht eine scrollview immer "scrollen", unabhängig von der Größe des Inhalts:
Es ist ein für horizontales scrollen sowie
scroll-view-Inhalte sollte die Größe mehr als scrollView Bildbreite und-Höhe
tun Sie dies, -
Ich denke, es wird helfen.
Wenn Sie versuchen, diese mit IB, dann stellen Sie sicher, dass Ihre UIScrollView Height-Eigenschaft festgelegt ist, um niedrigere Zahl als Ihre contentView Height-Eigenschaft. Zum Beispiel, wenn Sie sich gesetzt haben, die Höhe Ihres contentView auf 810 Punkte stellen Sie sicher, dass Ihre UIScrollView ist die Höhe, die zu so etwas wie 610 Pkt oder so.