【问题标题】:Viewdid load method call on popview在 popview 上调用 Viewdid 加载方法
【发布时间】:2012-10-09 21:25:36
【问题描述】:

在我的应用程序中,我在 View1 的视图 load() 中设置了一些动画,首先启动它的工作正常,如果我推入其他视图,并且当弹出到 view1 时它没有动画,当从其他视图弹出视图时我应该为动画做什么视图?这里我的视图确实加载了代码,

 - (void)viewDidLoad
{
artext=[[NSMutableArray alloc] init];
arimage=[[NSMutableArray alloc] init];
arsound=[[NSMutableArray alloc] init];

[super viewDidLoad];
[self copysqlitetodocuments];
[self Readthesqlitefile];   
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage     imageNamed:@"classroom.png"]];

}

我试过了

  - (void)viewDidAppear:(BOOL)animated
 {
 [self buttonmover];
 [super viewDidAppear:animated];
  }

它不起作用,任何人都可以帮我解决这个问题

【问题讨论】:

  • 我的buttonmover函数给出了动画,我用view做了尝试,它只在第一次启动时出现,我从其他视图弹出它没有显示动画? @vishy
  • 向我们展示按钮移动功能,您正在执行动画..?

标签: iphone ios uiview popviewcontroller


【解决方案1】:

如果你想在视图出现时执行代码(例如动画),-viewDidLoad 是错误的地方。

您可能应该使用:

- (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    // ...
}

【讨论】:

  • 或 viewWillAppear 有时会使加载看起来更流畅
【解决方案2】:

在 viewWillAppear 中尝试

  -(void)viewWillAppear:(BOOL)animated
 {
  artext=[[NSMutableArray alloc] init];
  arimage=[[NSMutableArray alloc] init];
  arsound=[[NSMutableArray alloc] init];

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

 }

【讨论】:

    【解决方案3】:

    当您的 viewDidLoad 方法被调用时,控制器还没有在视图层次结构中,所以动画不起作用。

    在实现[super viewWillAppear]方法后,您必须在viewWillApper中执行动画。比如:

    - (void)viewDidAppear:(BOOL)animated {
        [super viewDidAppear:animated];
    
        artext = [[NSMutableArray alloc] init];
        arimage = [[NSMutableArray alloc] init];
        arsound = [[NSMutableArray alloc] init];
    
        [self copysqlitetodocuments];
        [self Readthesqlitefile];   
        self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"classroom.png"]];
    
    }
    

    【讨论】:

    • 从其他视图返回时是否会显示动画啊?
    • 所以你只需要第一次动画?
    • 所以这段代码应该给你一个很好的例子来说明如何实现它;-)
    • 取决于您的动画。你要求一个每次都动画的函数,而不是动画本身。检查它:stackoverflow.com/questions/2337408/addsubview-animation
    猜你喜欢
    • 2012-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-17
    • 1970-01-01
    相关资源
    最近更新 更多