Iphone 从另一个类调用方法
首先,我想为我的英语道歉:) 我有FirstViewController,它包含scrollView。这是启用了分页的scrolView,有2个页面和2个不同的视图控制器。通过触摸按钮,从其中一个视图控制器中,第三个视图控制器显示为模态视图。我在FirstViewController中调用了一个方法,该方法必须禁用滚动并隐藏scrollView中未包含的两个标签。 方法正在执行,但UI未更改,滚动仍处于启用状态,标签仍可见 下面是一段代码: 这是FirstViewController.h的一部分(不是全部代码): 因此,我从scrollView中包含的一个视图控制器调用Iphone 从另一个类调用方法,iphone,objective-c,class,object,methods,Iphone,Objective C,Class,Object,Methods,首先,我想为我的英语道歉:) 我有FirstViewController,它包含scrollView。这是启用了分页的scrolView,有2个页面和2个不同的视图控制器。通过触摸按钮,从其中一个视图控制器中,第三个视图控制器显示为模态视图。我在FirstViewController中调用了一个方法,该方法必须禁用滚动并隐藏scrollView中未包含的两个标签。 方法正在执行,但UI未更改,滚动仍处于启用状态,标签仍可见 下面是一段代码: 这是FirstViewController.h的一部分
prepareToModal
以前:
#import "FirstViewController.h"
下一步:
就这些。我在PrepareTomodel中设置了一个断点,它停止了执行。方法被调用,但屏幕上没有任何更改
我做错了什么?
如何正确地做到这一点
更新:
我解决了这个问题
当我呈现这个模态视图时,我写道:
ThirdViewController *tvc = [[ThirdViewControler alloc] init];
tvc.delegate = self;
UINavigationController *nc = [[UINavigationController alloc] initWithRootViewController:tvc];
[self presentModalViewController:nc animated:YES];
[tvc release];
[nc release];
现在,代替了[自呈现ModalviewController:nc动画:是]代码>我写这个:
[[[[UIApplication sharedApplication].windows objectAtIndex:0] rootViewController] presentModalViewController:nc animated:YES];
而且它工作得很好,我不需要方法-(void)prepareTomodel代码>
非常感谢:)请确保您已在Interface Builder中连接了您的IBoutlet。在该示例中,您实际上没有使用VC进行任何操作,因此它不可能显示在屏幕上!?!您只需创建一个新实例,调用prepare modal方法并释放它……如果您已经有一个FirstViewController实例(显示滚动视图和标签的实例),那么您需要在该实例上调用prepare方法,而不是在新实例上。我看不到足够多的代码来提供详细信息。。。。但是,如果您使用的是标准设置,那么应用程序中的委托就是您的FirstViewController实例所在的位置。。。。
FirstViewController *vc = [[FirstViewController alloc] init];
[vc prepareToModal];
[vc release];
ThirdViewController *tvc = [[ThirdViewControler alloc] init];
tvc.delegate = self;
UINavigationController *nc = [[UINavigationController alloc] initWithRootViewController:tvc];
[self presentModalViewController:nc animated:YES];
[tvc release];
[nc release];
[[[[UIApplication sharedApplication].windows objectAtIndex:0] rootViewController] presentModalViewController:nc animated:YES];