【问题标题】:How do you animate the layout of the UI elements in a custom view of an iOS app?如何在 iOS 应用的自定义视图中为 UI 元素的布局设置动画?
【发布时间】:2010-07-26 15:36:54
【问题描述】:

我想在我的 iOS 应用程序中构建一个偏好设置屏幕,该屏幕顶部有一个分段控件,它会根据其状态确定哪些滑块和开关是可见的,以及它们的位置。当您更改分段控件的状态并且屏幕布局发生更改时,我希望它能够平滑地动画到新布局中。这种行为的一个例子可以在你的 iOS 设备的the wireless settings 中看到,当你点击各种分段控件时,你可以看到布局动画。

  1. 我了解如何隐藏和重新定位控件,但如何为其设置动画?我习惯于为“willAnimate”参数指定“YES”,但这些隐藏和重新定位函数不包含它。
  2. 在界面生成器中,我应该如何在一个视图中创建多个控件布局?我是否只是将控件置于彼此之上?

非常感谢您的所有帮助!

【问题讨论】:

    标签: iphone cocoa-touch ipad uikit


    【解决方案1】:

    1) 像这样:

        [UIView beginAnimations:nil context:nil];
        [UIView setAnimationDuration:1]; //1 sec duration
        [UIView setAnimationDelegate:self];
        [UIView  setAnimationDidStopSelector:@selector(myTransitionDidStop:finished:context:)];
                //what you want to animate goes here.....
    
        [UIView commitAnimations];
    

    另外,myTransitionDidStop:finished:context: 是动画完成后执行的回调方法。它应该是可选的。

    2) 是的,只需隐藏所有元素。在运行时确定要显示哪些。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-21
    • 1970-01-01
    • 1970-01-01
    • 2014-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多