我有两个viewController: AController(UIScrollView是子视图)和BController
请帮帮我! 谢谢!
答案 0 :(得分:0)
我认为最简单的方法是使用委托协议。 AController将成为BController的代表。在BController被解雇之前,它可以调用协议的方法来提醒AController和AController本身,同时隐藏scrollView。
或者,您可以覆盖AController实现文件中的-viewWillAppear
,以测试'self.presentedController'是否是BController的子类。如果是,则可以隐藏scrollView。
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
if ([self.presentedViewController isKindOfClass:[BController class]]) {
//hide the scroll view
}
}
此外,我建议您不要使用-dismissModalViewControllerAnimated:
,除非您想支持iOS 4及更早版本:此方法已在iOS 6中弃用,您最好立即使用- dismissViewControllerAnimated:completion:
答案 1 :(得分:0)
使用委托,如果你在AView viewWillAppear通知中没有使用这么多的expariance:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(hideScrollView) name:@"hideScrollView" object:nil];
并在您的BView中使用:
[[NSNotificationCenter defaultCenter]
postNotificationName:@"hideScrollView" object:nil];
结果我会在你隐藏你的scrollView时在AView中激活hideScrollView方法。