Mam widok niewykrywalny i znajduje się w nim widok uiimage. Chcę, aby używany był w stanie pomniejszyć obraz, ponieważ jest to duży obraz. przewijania wystarczy przewijać w pionie, a nie w poziomie.Wyszukanie powiększenia i pomniejszego widoku nie działa poprawnie
przed dodaniem efekt powiększenia miałem następujący kod i to działało jak chciałem,
-(void)viewDidLoad
{
[scrollView setScrollEnabled:YES];
[scrollView setContentSize:CGSizeMake(320, 1690)];
}
Więc zrobiłem rozeznanie i skończyło się z następującego kodu, aby umożliwić pinch zoom in i out,
-(void)viewDidLoad
{
scrollView.scrollEnabled = YES;
[scrollView setContentSize:CGSizeMake(320, 1690)];
scrollView.delegate = self;
// scrollView.contentSize = instImage.frame.size;
scrollView.minimumZoomScale = scrollView.frame.size.width/instImage.frame.size.width;
scrollView.maximumZoomScale = 2.0;
[scrollView setZoomScale:scrollView.minimumZoomScale];
[[NSRunLoop currentRunLoop] runMode:NSRunLoopCommonModes beforeDate:[NSDate distantFuture]];
}
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
return instImage;
}
- (CGRect)centeredFrameForScrollView:(UIScrollView *)scroll andUIView:(UIView *)rView {
CGSize boundsSize = scroll.bounds.size;
CGRect frameToCenter = rView.frame;
// center horizontally
if (frameToCenter.size.width < boundsSize.width) {
frameToCenter.origin.x = ((boundsSize.width - frameToCenter.size.width)/2);
}else {
frameToCenter.origin.x = 0;
}
return frameToCenter;
}
- (void)scrollViewDidZoom:(UIScrollView *)scrollV {
instImage.frame = [self centeredFrameForScrollView:scrollV andUIView:instImage];;
}
teraz mam następujące problemy i nie mogę dowiedzieć się, co się stało,
, gdy widok jest właśnie ładowany przed jakimkolwiek uszczypnięciem, widok przewijania nie przesuwa się całkowicie do końca obrazu.
po przyciśnięciu, aby powiększyć, przewija w lewo iw prawo oraz w górę iw dół obrazu, ale nadal nie przewija do końca obrazu, ale nadal przewyższa to, co pierwotnie zrobił początek.
Kiedy pomniejszam, wszystko się zatrzymuje. nie można powiększać ani pomniejszać, nie przewija się już więcej. całkowicie zamknięty.
Zrobiłem kilka badań i znalazłem następujący wpis. https://stackoverflow.com/a/6384834/1103257
, ale nie wiem, gdzie można znaleźć NSDefaultRunLoopMode lub nawet jak go szukać, aby dowiedzieć się, czy to rozwiąże, czy nie.
Dzięki @Mona. Zmierzyłem się również z tym samym problemem. Mi to pasuje. :) – iKT