Прокрутка UILabel, как шатер в подпредставлении

У меня есть UILabel в основном виде с текстом - "Очень очень длинный текст, Правильная ширина для этого будет 142, но ямы сократили его до 55.

По сути, я хочу реализовать прокрутку типа выделения, поэтому я написал код, чтобы добавить его в подпредставление и анимировать его в рамках этого представления.

КОД -

    CGRect tempLblFrame = _lblLongText.frame;
    UIView *lblView = [[UIView alloc] initWithFrame:tempLblFrame];

    //Add label to UIView at 0,0 wrt to new UIView
    tempLblFrame.origin.x = 0;
    tempLblFrame.origin.y = 0;

    [_lblLongText setFrame:tempLblFrame];
    [_lblLongText removeFromSuperview];
    [lblView addSubview:_lblLongText];

    //SetClipToBounds so that if label moves out of bounds of its superview, it wont be displayed
    [lblView setClipsToBounds:YES];
    [lblView setBackgroundColor:[UIColor cyanColor]];
    [self.view addSubview:lblView];

После этого я получаю этот вывод на симуляторе -> 

Проблема возникает, когда я пробую анимацию с этим кодом -

    tempLblFrame.origin.x = -_lblLongText.intrinsicContentSize.width;        
    [UIView animateWithDuration:2.0 delay:1.0 options:UIViewAnimationOptionCurveLinear
                     animations:^{
                         [_lblLongText setFrame:tempLblFrame];
                     }
                     completion:^(BOOL finished) {
                         NSLog(@"completed");
                     }];

Я надеялся, что увижу весь "Очень очень длинный текстСкорее всего "Очень..." свитки слева направо.

Чтобы решить это Я добавил одну строку кода -

    //Add label to UIView at 0,0 wrt to new UIView
    tempLblFrame.origin.x = 0;
    tempLblFrame.origin.y = 0;

    tempLblFrame.size.width = _lblLongText.intrinsicContentSize.width; //THIS LINE WAS ADDED

    [_lblLongText setFrame:tempLblFrame];
    [_lblLongText removeFromSuperview];
    [lblView addSubview:_lblLongText];

Я думал, что полный текст будет установлен во вновь добавленном UIView, и он будет прокручиваться правильно. Но бег на симуляторе дал мне это -

И опять толькоОчень..." прокручивал слева направо.

Что я делаю неправильно? Пожалуйста помоги!!

РЕДАКТИРОВАТЬ

Видимо виновником была AutoLayout.

Понятия не имею почему, но однажды я снял галочкуИспользовать Autolayout " для просмотра в XIB все начало работать как положено. Установка tempLblFrame.origin.x = -_lblLongText.intrinsicContentSize.width; работал правильно, и свиток тоже.

Любое объяснение этому !!?

Ответы на вопрос(4)

Ваш ответ на вопрос