簡體   English   中英

UIView transitionFromView更改視圖高度

[英]UIView transitionFromView change view heigh

我正在使用此代碼在2 UIView之間進行更改:

UIViewAnimationOptions animationType = UIViewAnimationOptionTransitionFlipFromLeft;

[UIView transitionFromView:self.playlistTableView toView:self.playerView duration:0.5 options:animationType completion:^(BOOL finished){
     [self.containerView sendSubviewToBack:self.upperView];
     [self.containerView sendSubviewToBack:self.playerView];

     self.isPlaylistVisible = !self.isPlaylistVisible;
     isControlsHidden = NO;
}];

而且我注意到一個奇怪的行為,當我翻轉self.playerView的高度時,其松動了20px,一秒鍾后,它又變回了正常的幀大小。

我嘗試將animationType更改為UIViewAnimationOptionLayoutSubviews ,現在當我在視圖之間進行更改時,不會發生此行為。 知道是什么問題嗎?

請嘗試此代碼。

        [self.upperView setHidden:YES];
        [self.playerView setHidden:NO];
        [UIView beginAnimations:nil context:NULL];
        [UIView setAnimationDuration:1.0];
        [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:containerView cache:YES];
        [UIView setAnimationDuration:1.0];
        [UIView commitAnimations];
        [containerView addSubview:self.playerView];

對於反向情況

    [self.upperView setHidden:NO];
    [self.playerView setHidden:YES];
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:1.0];
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:containerView cache:YES];
    [UIView setAnimationDuration:1.0];
    [UIView commitAnimations];
    [containerView addSubview:self.upperView];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM