2015-08-23 57 views
0

我使用下面的代碼perfroming一個簡單的觀點轉變:通過渡視圖id的Xcode

int controllerIndex = 1; 
    UIView * fromView = self.tabBarController .selectedViewController.view; 
    UIView * toView = [[self.tabBarController.viewControllers objectAtIndex:controllerIndex] view]; 

    // Transition using a page curl. 
    [UIView transitionFromView:fromView toView:toView duration:0.8 
         options:(controllerIndex > self.tabBarController.selectedIndex ? UIViewAnimationOptionTransitionCurlUp : UIViewAnimationOptionTransitionCurlDown) 

        completion:^(BOOL finished) { 

         if (finished) { 
          self.tabBarController.selectedIndex = controllerIndex; 
         } 
        }]; 

有沒有我可以通過我從過渡視圖的ID的方式,所以我可以再執行一些邏輯。也就是說,如果從視圖轉換ID爲做到這一點....

感謝,

馬特

+0

你想把誰傳給你想要執行邏輯的人是誰?如果要在動畫塊或完成塊中執行該登錄,則應該只能使用視圖對象。 – execv

回答

0

有幾種方法可以做到這一點:

1)

子類的UIView添加在一個標識符中。這可能是簡單的:

@interface MattView : UIView 

@property (strong) NSString *identifier; 

@end 
目標C

class MattView: UIView 
{ 
    var identifier : String? 
} 
斯威夫特

然後,您可以將轉換後的視圖轉換爲MattView並從中獲取標識符。

2)

您也可以使用UIView的一個擴展,增加一個標識,or in this related question's answer,一個 「字符串變量」。