wie kann ich einstellen, contentoffset und ändern Sie die Höhe von UIScrollview zur gleichen Zeit

Ich versuche zu scrollen, bis meine UISCrollView wenn die Tastatur angezeigt wird,

Benutze ich setContentOffset Verschiebung der uiview-up.

Zur gleichen Zeit, ich will zum verringern der Höhe meiner UISCrollView zu (Blick in die Höhe - Tastatur-Höhe), so dass der gesamte Inhalt kann die Ansicht gescrollt werden.

Ich sowohl die änderungen in keyboardWillShow Benachrichtigung

Wenn ich tatsächlich bringen Sie die Tastatur nach oben in meine app, die Inhalte zunächst nach oben geschoben, und dann werden Sie nach unten gedrückt (das gibt einen flackernden Effekt). Ich bin versucht zu glätten, die beide Transformationen in einem Schritt..

Ist es möglich?

Code Unten ---

- (void) keyboardWillShow {
   CGPoint contentOffset = scrollView.contentOffset;

    CGRect scrollViewFrame = scrollView.frame;

    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:0.3];

    if (contentOffset.y >= 0 && contentOffset.x >= 0) {
        isContentOffset = YES;
        contentOffset.y += screenShift;
        [scrollView setContentOffset:contentOffset animated: NO];
    }

    scrollViewFrame.size.height = keyboardOrigin.y - self.view.frame.origin.y - toolbarHeight;
    scrollView.frame = scrollViewFrame;
    [UIView commitAnimations];
}
InformationsquelleAutor dips | 2011-03-05
Schreibe einen Kommentar