2010-07-26 58 views
1

我想在我的iOS應用程序中創建一個首選項屏幕,該應用程序在頂部有一個分段控件,根據其狀態,它將確定哪些滑塊和開關可見,以及它們的位置。當您更改分段控制的狀態並且屏幕布局發生變化時,我希望它能夠平滑地進入新佈局。這種行爲的例子可以在iOS設備的the wireless settings中看到,當您點擊各種分段控件時,您可以看到佈局動畫。如何在iOS應用的自定義視圖中爲UI元素的佈局設置動畫效果?

  1. 我明白如何隱藏和重新定位控件,但是如何爲它設置動畫效果?我習慣於爲「willAnimate」參數指定「YES」,但這些隱藏和重新定位函數不包含它。
  2. 在界面構建器中,我應該如何在單個視圖中創建多個控件佈局?我只是將控件放在彼此的頂部?

非常感謝您的幫助!

回答

2

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:完成:上下文:是動畫完成後所執行的回調方法。它應該是可選的。

2)是的,只是隱藏所有元素。在運行時確定要顯示哪些。

+0

謝謝,christo16,我會試試看! – BeachRunnerFred 2010-07-26 16:37:02

+0

好的回答先生。 – 2012-08-01 10:03:02

+0

我應該提到這種方法在iOS 5.0中已被棄用,而使用Blocks,請參閱http://developer.apple.com/library/ios/#documentation/windowsviews/conceptual/viewpg_iphoneos/AnimatingViews/AnimatingViews.html#// apple_ref/DOC/UID/TP40009503-CH6-SW4 – christo16 2012-08-01 16:01:48

相關問題