【问题标题】:Iphone - Calling animations to a view from another class than the viewControllerIphone - 从视图控制器之外的另一个类调用动画到视图
【发布时间】:2011-10-16 07:52:26
【问题描述】:

两个非常快速的问题,我在网上搜索但找不到答案..

有什么方法可以从与视图的 viewController 不同的类调用块动画到视图。我也无法弄清楚如何在与 viewController 不同的类中存在的方法中向该视图添加子视图(我能做到的唯一方法是 [self.view addSubview:xxxxx]; 在我的 viewController 中查看)

任何帮助将不胜感激和帮助。

谢谢!!

【问题讨论】:

  • 如果你知道指针是如何工作的,我相信你遇到了架构问题。

标签: iphone objective-c ios


【解决方案1】:

在 ApplicationDelegate 上保留对 YourViewController 实例的引用,并在 OtherClass 中修改其子视图。

//in ApplicationDelegate.h
@property (strong, nonatomic) YourViewController *ref;

//in ApplicationDelegate.m
@synthesize ref;

self.ref = [[YourViewController alloc] initWithNibName:nil bundle:nil];



//in YourViewController.h
@property (retain, nonatomic) UIImageView *myImageView;

//in YourViewController.m
@synthesize myImageView;




//in OtherClass.m
[UIView animateWithDuration:DURATION delay:DELAY
                    options:OPTION
                 animations:^(void) 
        {
                [[UIApplication sharedApplication] delegate].ref.myImageView.center=CGPointMake(100,100);
        }
                 completion:^(BOOL finished)
        {
                [[UIApplication sharedApplication] delegate].ref.myImageView.center=CGPointMake(200,200);
        }];

【讨论】:

  • 在 AppDelegate 中放置大量应用程序逻辑/UI 表明代码设计不佳。您的应用程序委托应该只用于初始化您开始从视图控制器发送消息所需的最低限度。是的,Apple 确实在他们的示例代码中使用了它,但这只是为了初学者开发人员的简单性。
  • 我也是。我认为他是初学者。
  • 顺便提醒一下:不要滥用App Delegate hollance.com/category/beginners
  • 事实证明这并不难,只要你有一个指向那个 viewController 的指针。假设视图控制器称为 viewC,那么您可以在该类中的任何位置调用 [viewC animateWithDuration:animations:] 。
  • @erkanyildiz UR THE BESTTTTTTTTTT :))))))))) 我已经为这段小代码苦苦挣扎了好几天。尝试了所有方法,当我尝试这个时我没有任何希望,这是我最后一次尝试。无论如何,非常感谢 :))))) 它刚刚成功 :)))))))))
【解决方案2】:

好吧,如果您在其上调用动画的视图也有一个视图控制器,那么您可以做的是在该视图控制器中创建一个制作该动画的方法。然后在你想调用那个动画的另一个视图中你可以做 [其他ViewController动画方法]; 老实说,这是我能想到的最好的。

【讨论】:

    猜你喜欢
    • 2019-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-08
    • 2017-03-12
    • 1970-01-01
    相关资源
    最近更新 更多