小技巧

1获取UIView所在的controller

- (UIViewController *)viewController

{

UIViewController *viewController = nil;

UIResponder *next = self.nextResponder;

while (next)

{

if ([next isKindOfClass:[UIViewController class]])

{

viewController = (UIViewController *)next;

break;

}

}

return viewController;

}


2判断当前ViewController是push还是present的方式显示的

NSArray *viewcontrollers=self.navigationController.viewControllers;

if (viewcontrollers.count > 1)

{

if ([viewcontrollers objectAtIndex:viewcontrollers.count - 1] == self)

{

//push方式

[self.navigationController popViewControllerAnimated:YES];

}

}

else

{

//present方式

[self dismissViewControllerAnimated:YES completion:nil];

}

你可能感兴趣的:(小技巧)