0

カスタムリターンタイプのメソッドを作成するにはどうすればよいですか?

基本的に「ViewController」を返し、さらにInterface BuilderでIBActionと同じメソッドを使用して、ボタンをポイントしたいと思います...

基本的に、以下のメソッドを呼び出すか、ボタンを使用して呼び出すことができるカスタムメソッドを作成します...それは方法ですか?

- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController 

{ 
    NSUInteger currentIndex = [self.modelArray indexOfObject:[(ContentViewController *)viewController labelContents]];
    if(currentIndex == self.modelArray.count-1)
    {
        return nil;
    }
    ContentViewController *contentViewController = [[ContentViewController alloc] init];
    contentViewController.labelContents = [self.modelArray objectAtIndex:currentIndex + 1];
return contentViewController; 

}
4

2 に答える 2

2

メソッドを作成してボタンに接続できます

.h

 - (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController ;     
 -(IBAction)myMethod; //connect this to your button

.m

-(IBAction)myMethod
 {
    //assuming you want you want to push to returned view controller
    [self.navigationController pushViewController:[self pageViewController:viewController viewControllerAfterViewController:viewController2] animated:YES];        
 }

- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController 
 { 
    NSUInteger currentIndex = [self.modelArray indexOfObject:[(ContentViewController *)viewController labelContents]];
    if(currentIndex == self.modelArray.count-1)
    {
    return nil;
    }

 ContentViewController *contentViewController = [[ContentViewController alloc] init];
 contentViewController.labelContents = [self.modelArray objectAtIndex:currentIndex + 1];
 return contentViewController; 
}
于 2012-07-06T05:33:46.330 に答える
-2

IBAction は単にヒントとして使用され、「バインド」ではありません。これは、次のいくつかの方法のいずれかで、やりたいことを実行できることを意味します。

  1. プログラム的に。@selector(yourActionMethod:) を使用して、viewDidLoad などでボタンのアクションを設定します。

  2. 「トリック」xcode; まずIBActionとしてメソッドを設定し、ドラッグ&ドロップで接続を行い、メソッドの宣言/実装を変更します。うまくいきます。

于 2012-07-06T04:37:54.590 に答える