2016-04-28 2 views
0

Я реализую 3D-подход к просмотру поп-функции в iOS.3D Прикосновение к нескольким кнопкам в одном классе

Это код, который я написал для одной кнопки

- (UIViewController *)previewingContext:(id <UIViewControllerPreviewing>)previewingContext viewControllerForLocation:(CGPoint)location 
{ 

    UIViewController *detailVC = [self.storyboard instantiateViewControllerWithIdentifier:@"detail"]; 


    detailVC.preferredContentSize = CGSizeMake(0.0, 500.0); 

    previewingContext.sourceRect = self.btnDetail.frame; 

    return detailVC; 
} 

Это только для одной кнопки в том же точке зрения у меня есть 4 других кнопок, которые я хочу, чтобы применить 3D-контакт в том же классе. Как я могу это сделать??

ответ

1

Вы можете просто проверить местоположение. Например:

- (UIViewController *)previewingContext:(id <UIViewControllerPreviewing>)previewingContext viewControllerForLocation:(CGPoint)location 
{ 
    if(CGRectContainsPoint(self.btnDetail.frame,location)){ 
     UIViewController *detailVC = [self.storyboard instantiateViewControllerWithIdentifier:@"detail"]; 


     detailVC.preferredContentSize = CGSizeMake(0.0, 500.0); 

     previewingContext.sourceRect = self.btnDetail.frame; 

     return detailVC; 
    } 
    if(CGRectContainsPoint(self.otherBtn.frame,location)){ 
     UIViewController *otherVC = [self.storyboard instantiateViewControllerWithIdentifier:@"other"]; 


     otherVC.preferredContentSize = CGSizeMake(0.0, 500.0); 

     previewingContext.sourceRect = self.otherBtn.frame; 

     return otherVC; 
    } 
    … 
}