[英]iOS UIView animation changeFrame wrong coordinate system
請參見下面的代碼。 當動畫中的幀“更改”時,它將更改為實際單元的坐標系,而不是整個視圖的坐標。 因此(0,0)是單元格的原點,而不是整個視圖。 該單元格位於屏幕的中間(GMGridView的一部分)。
我要完成的工作:我需要獲得整個視圖中單元格的絕對位置,然后從那里動畫化同樣在整個視圖坐標系中的幀變化(使用翻轉的大小)。 然后更改回該單元格的“舊”絕對框架(按按鈕)。 我通過按鈕和代表處理的邏輯工作正常。 唯一不起作用的是框架。
有任何想法嗎?
我試圖獲取絕對的frameInMainWindow,但無法正確顯示。 並嘗試與clipToBounds玩沒有運氣。 一堆其他東西沒有幫助。
外面有人對如何實現上述目標有想法嗎?
任何幫助將不勝感激。
cell.contentView.contentMode = UIViewContentModeRedraw;
[UIView transitionWithView:cell.contentView duration:2
options:UIViewAnimationOptionTransitionFlipFromRight
animations: ^{
cell.contentView.frame = CGRectMake(0,
0,
myFullView.frame.size.width,
myFullView.frame.size.height);
[cell.contentView addSubview:myFullView];
[gmGridView bringSubviewToFront:cell];}
completion: ^(BOOL finished) { }];
這會幫助你,
CGRect theFrame = CGRectMake(0, 0, myFullView.frame.size.width, myFullView.frame.size.height);
CGRect frameInSelfView = [self.view convertRect:theFrame fromView:cell];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.