1

我如何在目标 c 中手动调用以下方法。我需要这个,因为我的按钮在另一个类中,它必须调用另一个类的方法。该方法是我需要调用的委托方法。任何人都可以指导我。

提前致谢。

这是我需要在 A 类中调用的方法。

- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController
{
int index = [self.VControllers indexOfObject:viewController];
if (index + 1 < [self.VControllers count])
{
    return [self.VControllers objectAtIndex:index + 1];
}
return nil;
}

B类:

-(void)next
 {
exampleViewController *vc = [[exampleViewController alloc]init];
[vc pageViewController:vc.pageViewController viewControllerAfterViewController:vc.view];
}

我需要的是通过这种方法移动下一个视图控制器。

4

2 回答 2

0

[实例名称pageViewController:upvc viewControllerAfterViewController:uvw];

其中 instanceName 是包含此方法的类的实例,upvc 是您传递的 UIPageViewController 参数,uvw 是您传递的 UIViewController 参数。

如果你想对返回的 UIViewController 做点什么:

UIViewController *vc = [instanceName pageViewController: upvc viewControllerAfterViewController: uvw];

如果你想从一个按钮调用它,你必须声明一个处理按钮内部事件的 IBAction 方法。您可以从 IBAction 调用此方法。所以在你的 .h 中声明 IBAction

-(IBAction) buttonPressed: (id) sender;

并在 .m 中像这样实现

-(IBAction) buttonPressed: (id) sender
{
     UIViewController *vc = [instanceName pageViewController: upvc viewControllerAfterViewController: uvw];
}
于 2012-11-28T11:39:45.907 回答
0

您可以像调用其他函数一样手动调用函数

在B类

#import "ClassA.h"

并使其对象

ClassA *classA_Object = [[ClassA alloc] init];

UIViewController *ViewController = [classA_Object pageViewController:classA_Object.yourPageViewController viewControllerAfterViewController:classA_Object.view];  

根据您的代码,您可以将其称为。

[self next]  

-(void)next
 {
exampleViewController *vc = [[exampleViewController alloc]init];
[vc pageViewController:nil viewControllerAfterViewController:vc.view];
}
于 2012-11-28T11:43:17.943 回答