簡體   English   中英

最佳實踐:將視圖動畫顯示到iPhone上

[英]Best Practice: Animating a view into display onto iPhone

如果我想使用Core Animation來淡出顯示的視圖 - 將UIView放在與被繪制的視圖相同的NIB中是一種好習慣嗎? 我應該在另一個NIB文件中構建視圖並從那里加載它嗎? 我希望在用戶操作時同時將三個小視圖動畫顯示。 我想在IB中構建視圖。 在這里尋找最佳實踐類型的回應。

您可以將三個視圖作為單個XIB中的單獨UIViews,或者在一個視圖中布置三個視圖(否則,您必須將它們放在代碼中)。 將它們的初始alpha值設置為0.0,然后淡入它們就像下面這樣簡單:

[UIView beginAnimations:@"fade" context:nil];
[UIView setAnimationDuration:1.0];
myViewOne.alpha = 1.0;
myViewTwo.alpha = 1.0;
myViewThree.alpha = 1.0;
[UIView commitAnimations];

如果您計划將它們全部顯示在一起,我不會將三個視圖中的每一個放在單獨的XIB中。 如果它們是單獨的“屏幕”的一部分,我通常只會破壞它們,這些屏幕永遠不會一起顯示。

Apple建議每個UIViewController / UIView組合使用一個XIB。 這是因為如果您在同一個XIB中放置多個ViewCOntrollers和Views,它們將同時加載並占用內存用於XIB的所有元素,即使屏幕上只有一個。

推薦的方法是使用MainWindow.xib為您計划加載的每個xib(UIViewController / UIView組合)提供代理。

如果您只是加載子視圖,如上所述,您可以在同一個xib中構建它們,或者在viewDidLoad或viewWillAppear中以編程方式構建它們(將在xib加載“基本”視圖后調用它們。

我認為應該盡可能多地使用接口構建器...所以我建議每個視圖都是它自己的xib文件...記住你可以構建一個從UIViewController擴展的類層次結構,如果在它們之間有很多重疊的功能觀點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM