UIScrollView setContentOffset和setZoom产生错误的位置

时间:2013-12-16 09:26:04

标签: ios iphone uikit

当我记录这些值时,它们都是正确的但是当我将这些值设置为scrollView时,它不会显示所需的rect。缩放比例似乎正确,但原点似乎是错误的,尽管是正确的x和y值。

CGRect prevRect  =
[self.focusPositions[count-2] CGRectValue];

CGFloat prevZoom =
[self.focusZooms[count-2] floatValue];

self.scrollViewPhoto.contentOffset = CGPointMake(prevRect.origin.x, prevRect.origin.y);
self.scrollViewPhoto.zoomScale     = prevZoom;

修改

self.focusPosition

包含

    NSValue * value =
    [NSValue valueWithCGRect:self.scrollViewPhoto.visibleRect];

EDIT2

scrollView的

visibleRect属性是:

- (CGRect)visibleRect
{
    CGRect visibleRect;
    visibleRect.origin = self.contentOffset;
    visibleRect.size   = self.bounds.size;

    float theScale = 1.0 / self.zoomScale;

    visibleRect.origin.x    *= theScale;
    visibleRect.origin.y    *= theScale;
    visibleRect.size.width  *= theScale;
    visibleRect.size.height *= theScale;

    NSLog(@"visible rect: %@", NSStringFromCGRect(visibleRect));

    return visibleRect;
}

0 个答案:

没有答案