segue期间的颜色(颜色)闪烁(Xcode)

时间:2014-06-08 21:49:27

标签: ios objective-c xcode

我对现代编程比较陌生(我最近的一次严肃经历就是我的旧Amiga上的AMOS!)但是我已经尽力学习目标C以开发应用程序(仅适用于iOS)此时此刻)。我有一个(希望非常简单)的问题,我已经尽力研究,没有任何快乐。

我已经完成了大部分相对基本的应用程序。从我家的ViewController,我有四个选项,所有选项都有颜色编码按钮,通过segue链接到内容ViewControllers。

作为一个很好的蓬勃发展,最重要的是,我想让整个屏幕按下按钮的颜色短暂闪烁(这个应用程序针对非程序员,一些主题不仅会使事情看起来不错,但也有希望帮助导向/直觉。

到目前为止,我已经尝试过:

  • 添加一个新的ViewController,其屏幕空白除了主题颜色和NSTimer控制的自动定制segue。 //这是次优的,就好像用户想要导航回主页一样,他们必须跳过两页而不是一页,如果它们有点慢,那么它们可能会陷入循环中。

  • 使用NSTimer和self.window.backgroundColor / setBackgroundColor。 //这两个选项最终导致我的应用程序崩溃 - 可能是由于编码无能!

有什么想法吗?例如,如果我的用户单击了“紧急指南”UIButton,那么在将应用程序无缝转换到相关页面之前,我会让屏幕闪烁红色(此部分选择的主题颜色),这是一个几乎无法察觉但潜意识太棒的时期。< / p>

对不起,如果这是一个小小的问题。我渴望听到任何答案,甚至适当地指导强硬的爱情。

2 个答案:

答案 0 :(得分:0)

你看过核心动画吗?如果你加入一些代码会有所帮助,但我认为Apple的核心动画教程很简单,你可以触发动画效果,特别是如果像你提到的那样按下你的彩色闪光想法按钮。 https://developer.apple.com/library/Mac/DOCUMENTATION/Cocoa/Conceptual/CoreAnimation_guide/Introduction/Introduction.html 你也可以用我建议的X代码,或者youtube一些教程或github等。 VERITAS

答案 1 :(得分:0)

我建议采用不同的方式。不要使用额外的viewController,而是在按下按钮时添加覆盖整个屏幕的彩色UIView。动画淡出淡出,一旦淡出就完全删除该视图并执行推送到下一个viewController。

这可能是最简单的方法,只需要这么多代码:

- (IBAction)demoButtonPressed:(UIButton *)sender {
    UIView *flashView = [[UIView alloc] initWithFrame:self.view.bounds];
    flashView.backgroundColor = [UIColor redColor];
    [self.view addSubview:flashView];
    [UIView animateWithDuration:0.3 delay:0.1 options:0 animations:^{
        flashView.alpha = 0.0f;
    } completion:^(BOOL finished) {
        [flashView removeFromSuperview];
        [self performSegueWithIdentifier:@"pushDemo1" sender:sender];
    }];
}

使用durationdelay,直到您满意为止。