在封閉循環的利益,這就是我最終行動做:
我創建了一個UIViewController子類用筆尖文件。稱它爲「AnimatedCharacter」。
「AnimatedCharacter.xib」由創建角色所需的所有元素組成。它有一系列連接到由「AnimatedCharacter.m」驅動的IBOutlets和IBAction的控件。在我的例子中,「AnimatedCharacter.m」創建一個NSTimer,它定期觸發狀態機來決定如何處理角色。它還通過標準方式實現音頻回放。
除此之外,這些文件/代碼沒有什麼特別之處。換句話說,我沒有做任何不尋常的事情來準備插入另一個UIViewController。
在主視圖控制器中。.h文件:
#import "AnimatedCharacter.h"
...
AnimatedCharacter *character;
...
@property (nonatomic, retain) AnimatedCharacter *character;
然後,在主視圖控制器的.m文件:
@synthesize character;
...
- (void)viewDidLoad
{
character = [[AnimatedCharacter alloc] init];
character.view.frame = CGRectMake(54.0, 0.0, 150.0, 150.0);
[self.view addSubview:character.view];
...
隨着在地方,我現在可以做的事情一樣:
-(void)FadeOut:(SEL)selector
{
[UIView beginAnimations:@"resize" context:NULL];
[UIView setAnimationDuration:0.5];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:selector];
character.view.frame = CGRectMake(0.0, 0.0, 50.0, 50.0);
[UIView commitAnimations];
}
而且,一般控制通過「AnimatedCharacter.m」中的各種成員函數,我認爲這個角色是合適的。這是在筆尖內作爲筆尖的有效工作。不是單獨的線程,但兩個筆尖按預期履行職責,接收輸入並運行各自的節目。
我會對我選擇做的好/壞/醜的方面感興趣。
順便提一下,您的問題標題可能會帶來一些誤導,因爲您在尋求關於XIB/View Controller構造的幫助,而不是動畫。 – makdad 2011-04-11 03:46:23
感謝您的評論。改變了標題。那個更好嗎? – 2011-04-11 17:38:03