我正在使用iCarousel庫來顯示類似於Coverflow的UI。直接動畫iCarousel子視圖往往會炸燬,所以我爲我的動畫創建了一個包裝,並在其內部粘貼了一個子視圖,它看起來像挖掘蓋子。然後我隱藏實際的iCarousel視圖,並在其上面製作假蓋子的動畫。翻轉視圖僅在隱藏時才起作用,但在顯示時不起作用
我正在使用UIView
的transitionWithView:duration:options:animations:completion:
方法,但我遇到了一些麻煩。當第一次在屏幕上動畫另一個視圖時,視圖將不顯示任何動畫。當動畫出來時,視圖正確翻轉並隱藏。
我的視圖層次結構如下所示:
- 主視圖中,從筆尖加載
- 包裝視圖
- 視圖過渡從
- 視圖轉變到
視圖我是transiti oning是包含UITableViewController子類的UINavigationController視圖。而不是最初的動畫,UINavigationController會出現,然後視圖向上增長一點,就好像它佔據了狀態欄所佔用的空間。
任何想法爲什麼表視圖可能是這樣的動畫? (我懷疑遏制API和/或wantsFullscreen
,雖然我沒有明確地使用它們。我只是通過addSubview:
安裝意見後包裝。)
這裏是我的「翻動」的代碼,即動畫每次但第一:
- (void) flipInWithCompletion:(MBTransitionCompletion)completion {
BOOL displayingPrimary = [self isDisplayingPrimaryView];
UIView *frontView = [self frontView];
UIView *backView = [self backView];
UIView *wrapperView = [self wrapperView];
[wrapperView addSubview:frontView];
[UIView transitionWithView:wrapperView
duration:0.8
options:UIViewAnimationOptionTransitionFlipFromRight
animations:^{
[wrapperView addSubview:backView];
[frontView removeFromSuperview];
}
completion:^(BOOL finished) {
[self setIsDisplayingPrimaryView:!displayingPrimary];
if (completion) {
completion();
}
}
];
}
什麼可能導致表視圖,而不是增長使包皮翻轉的?
編輯:
我做了a video demoing確切的問題。
是的,添加和刪除視圖肯定有幫助,但假蓋沒有出現在第一次翻轉。看起來像某種初始化故障。我顯然需要閱讀文檔。 :-) – Moshe