У меня есть UIImageView внутри UIScrollView с масштабированием, включенным в scrollView. Я хочу, чтобы пользователь увеличил масштаб изображения в определенном регионе изображения, а затем вернулся, вид прокрутки устанавливает изображение, где бы он ни находился. Я попытался использовать смещение содержимого, но он не работает для всех уровней масштабирования. В случае уровня масштабирования 1 изображение вида выглядит слева от scrollView. Это код, который я использовал для сохранения contentOffset и zoomScale.Прокрутка UIScrollView до определенной позиции с масштабированием
-(void)saveContentOffset
{
NSInteger zoomValue=[Scroll zoomScale];
CGPoint offeset=[Scroll contentOffset];
NSMutableDictionary *dict=[[NSMutableDictionary alloc] init];
[dict setObject:[NSNumber numberWithInteger:offeset.x] forKey:@"X"];
[dict setObject:[NSNumber numberWithInteger:offeset.y] forKey:@"Y"];
[dict setObject:[NSNumber numberWithInteger:zoomValue] forKey:@"Zoom"];
[[NSUserDefaults standardUserDefaults] setObject:dict forKey:@"Dict"];
}
и этот код используется для установки contentOffset, когда пользователь возвращается на экран:
-(void)setContentOffsetForScroll
{
NSDictionary *dict=[[NSUserDefaults standardUserDefaults] objectForKey:@"Dict"];
if ([dict allKeys]>0)
{
NSInteger xPoint=[[dict valueForKey:@"X"] integerValue];
NSInteger yPoint=[[dict valueForKey:@"Y"] integerValue];
NSInteger zoomScale=[[dict valueForKey:@"Zoom"] integerValue];
CGPoint offsetPoint=CGPointMake(xPoint, yPoint);
[Scroll setZoomScale:zoomScale];
[Scroll setContentOffset:offsetPoint];
}
}
Пожалуйста, проверьте прилагаемое изображение для выпуска в случае zoomLevel 1, вид на background with greenColor - ScrollView. В этом случае содержимое устанавливается влево.
Пожалуйста, сообщите, что именно мне не хватает.
Спасибо!
Каков результат вашего кода? –