繁体   English   中英

自定义背景不动画视图更改

[英]custom backgrounds not animating on view change

我有我的标准视图的自定义背景和我已声明的我的分组uitableview

// RooViewController

- (void)viewWillAppear:(BOOL)animated
{
    [self.navigationController setNavigationBarHidden:YES animated:NO]; //Hides the navigation bar

    //Add custom background
    self.view.backgroundColor = [UIColor clearColor];
    self.parentViewController.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"bg.png"]];

    [super viewWillAppear:animated];
}

// GroupedTableviewController

- (void)viewWillAppear:(BOOL)animated
{      
    //Add custom background
    self.tableView.backgroundColor = [UIColor clearColor];
    self.parentViewController.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"bgplain.png"]];

    [super viewWillAppear:animated];
}

与此相关的是视图刚刚消失并重新出现但是在从左到右滑动的视图之间发生了动画...如何将这些自定义背景添加到此视图更改动画?

您需要设置出现的视图的背景视图,而不是父视图控制器的视图。 通过设置父视图控制器的视图,您实际上是在显示出现的视图控制器(显然是清晰的)视图时切换出该视图(不会是动画)。而是添加背景视图到出现的视图控制器视图,或者在您的情况下,只需设置颜色:

self.view.backgroundColor = UIColor colorWithPatternImage:[UIImage imageNamed:@"bgplain.png"]];

我还注意到你在根视图控制器中更改了parentView的背景视图,这意味着父视图可能是UINavigationView(也是根据你的评论)。 通常,您不应该更改navigationController的视图特性,主要是因为它旨在保存其他视图/控制器,而不是显示自己的视图(当然除了导航栏)。

所以,我不认为你应该搞乱self.parentViewController.view并坚持使用self.view在每个视图控制器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM