2013-05-11 88 views
0

請參見下面的代碼。當動畫中的幀被「改變」時,它被改變爲實際單元的座標系,而不是整個視圖的座標。所以(0,0)不是整個視圖的原點。單元格在屏幕中間(GMGridView的一部分)。iOS UIView動畫變化框架錯誤座標系

我想要完成的事情: 我需要在整個視圖中獲取單元格的絕對位置,並從那裏爲整個視圖的座標系統中的framechange(調整大小並翻轉)進行動畫處理。然後回到單元格的「舊」絕對幀(按下按鈕)。我通過按鈕和代理工作正常,處理邏輯。唯一不起作用的是框架。

任何想法?

我試圖得到絕對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) { }]; 

回答

1

這將幫助你,

CGRect theFrame = CGRectMake(0, 0, myFullView.frame.size.width, myFullView.frame.size.height); 
CGRect frameInSelfView = [self.view convertRect:theFrame fromView:cell]; 
+0

你好...謝謝您的回答,但內置在庫中的代碼是複雜的,我剛剛放棄了。所以我會保存你的答案。謝謝。 – 2013-05-11 17:25:52