Ширина просмотра равна нулю - PullRequest
0 голосов
/ 03 июля 2011

Я добавил в свой uigesture следующий код

UIPinchGestureRecognizer *pinchRecognizer = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(scale:)];
[pinchRecognizer setDelegate:self];
[holderView addGestureRecognizer:pinchRecognizer];
[pinchRecognizer release];

и код scalling

    if([(UIPinchGestureRecognizer*)sender state] == UIGestureRecognizerStateEnded) {

        lastScale = 1.0;
        return;
    }



    CGFloat scale = 1.0 - (lastScale - [(UIPinchGestureRecognizer*)sender scale]);

    CGAffineTransform currentTransform = [(UIPinchGestureRecognizer*)sender view].transform;
    CGAffineTransform newTransform = CGAffineTransformScale(currentTransform, scale, scale);

    [[(UIPinchGestureRecognizer*)sender view] setTransform:newTransform];

    lastScale = [(UIPinchGestureRecognizer*)sender scale];

    OldTransform = newTransform;

    OldCenter = [(UIPinchGestureRecognizer*)sender view].center;

проблема до масштабирования, я могу получить ширину и высоту удержания, но после масштабирования вернуть ноль

Я использую следующий код для отображения

NSLog (@ "прямоугольник% f,% f,% f,% f", holderView.frame.origin.x, holderView.frame.origin.y, holderView.bounds.size.width, holderView.bounds. size.height);

Еще одна проблема заключается в том, что когда я добавляю подпредставление над ним, все значения возвращаются из держателя просмотра размера источника, .. становятся равными нулю любое предложение, чтобы решить это

1 Ответ

0 голосов
/ 03 июля 2011

Установка преобразования представления не меняет значения его свойства кадра. Таким образом, даже если кадр сообщает, что ширина равна 100, это может быть визуально 50 или что-то еще из-за преобразования.

Причина, по которой вы получаете 0 для ширины кадра, возможно, в том, что вы либо установили ее на 0 в какой-то момент, либо еще не установили. Вам нужно указать размер по умолчанию, чтобы сделать видимость видимой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...