更改subView的所有者?

时间:2015-03-26 18:35:49

标签: ios objective-c uitableview uiimageview

我试图实现一个动画,其中UITableViewCell的图像会展开以填满整个视图。我已经掌握了基础知识,但图像却卡在navigationBar后面。如何更改UIImageView以使其成为当前视图的subView

这是我目前的动画:

UITableViewCell *cell = [_tableView cellForRowAtIndexPath:indexPath];
UIImageView *imageView = [cell viewWithTag:1];
UIView *cellView = [cell viewWithTag:2];
[UIView animateWithDuration:0.5
                      delay:0
                    options:UIViewAnimationOptionCurveEaseIn
                 animations:^(void)
                     {

                         imageView.contentMode = UIViewContentModeScaleAspectFill;
                         [cellView bringSubviewToFront:imageView];
                         [imageView setFrame:CGRectMake(0, -64, self.view.frame.size.width, self.view.frame.size.height+64)];
                     }
                 completion:^(BOOL finished)
                     {
                         if(finished)
                         {
                             [self.navigationController presentModalViewController:readerViewController animated:YES];
                         }
                     }];

1 个答案:

答案 0 :(得分:0)

问题是表格在顶部栏下方延伸。

在情节提要中选择您的表格视图控制器,然后在属性检查器中取消选择“顶栏下的延伸边缘”属性。

这会将表格的顶部限制在导航栏下。

如果您希望它位于导航栏的前面,您可以隐藏导航栏,然后会看到图像。