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];
}

私が必要とするのは、このメソッドを介して次のView Controllerを移動することです。

4

2 に答える 2

0

[インスタンス名 pageViewController: upvc viewControllerAfterViewController: uvw];

ここで、instanceName はこのメソッドを含むクラスのインスタンス、upvc は渡す UIPageViewController パラメーター、uvw は渡す UIViewController パラメーターです。

返された UIViewController で何かをしたい場合は、次のようにします。

UIViewController *vc = [インスタンス名 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 に答える