我有一個視圖控制器與一羣我需要發送到前和動畫的視圖的中心的UIImageViews的。的iOS bringSubviewToFront阻斷的UIView動畫
我試圖在投射UIView動畫之前調用bringSubviewToFront,看起來發生的是視圖發送到棧頂,但動畫不會發生(即使完成處理程序日誌顯示爲if動畫DID發生)。
我第二次按觸發動畫的按鈕(考慮到這一次的觀點已經在頂部指數,動畫發生,因爲它應該)
繼承人我的代碼:
- (void)beginAnimationWithSelectedCountry:(UIView *)countryView
{
if (!countryView) return;
[self.view bringSubviewToFront:countryView];
[UIView animateWithDuration:0.6f delay:0 options:UIViewAnimationOptionCurveEaseOut animations:^{
countryView.center = CGPointMake(self.view.center.x, self.view.center.y);
} completion:^(BOOL finished) {
NSLog(@"Animation complete");
}];
}
有什麼想法?我已經在這個幾個小時了>。 <
感謝
編輯: 如果我註釋掉bringSubviewToFront代碼與動畫完美地執行(除了認爲是在一些其他的看法),所以我敢肯定preety問題是與線:
[self.view bringSubviewToFront:countryView];
下面有什麼,我現在有一個截圖可以闡明這個問題一些光: http://d.pr/i/PKoa
我將開始與如─return語句還有,看看你的方法,甚至被稱爲與NSLog的首次周圍。 – CodaFi
已經選中,因爲我發佈了「動畫完整」日誌被稱爲兩次。謝謝您的好意 –
做到這一點 - 把動畫稱爲animateCountry第二種方法把動畫代碼在裏面 - 在開始的方法調用bringSubViewToFront - 然後調用[自我performSelector:animateCountry ...它會工作。 –