4

この質問の前に、私は iPhone アプリケーション開発に不慣れであり、頭がいっぱいかもしれないと何度も信じているという事実から始めたいと思います。フルスクリーン UIScrollView 内の任意の場所をダブルタップして、メイン メニュー (MainMenuViewController) に戻ることができるアクションを見つけようとしています。

現在、ScrollViewController に対して次のコードを実行しています...

ScrollViewController.h

#import <UIKit/UIKit.h>

@interface ScrollViewController : UIViewController <UIScrollViewDelegate>
{

}

@end

ScrollViewController.m

#import "ScrollViewController.h"

UIScrollView *myScrollView;
UIPageControl *myPageControl;

@implementation ScrollViewController

- (void)loadScrollViewWithPage:(UIView *)page
{
int pageCount = [[myScrollView subviews] count];

CGRect bounds = myScrollView.bounds;
bounds.origin.x = bounds.size.width * pageCount;
bounds.origin.y = 0;
page.frame = bounds;
[myScrollView addSubview:page];
}

...etc

ScrollView Controller 内でダブルタップを実装して MainMenuViewController に戻れるようにするためのアドバイスやサンプル コードをいただければ幸いです。また、Interface Builder の変更をビューに含めてください (必要な場合)。私は何日もフォーラムに情報を流し続けてきましたが、このアクションをうまく実行できませんでした。ありがとう...RJ

4

1 に答える 1

1

まず、UIScrollView のサブクラスを作成します。

#import <UIKit/UIKit.h>

@interface MyScrollView : UIScrollView {
}

@end

実装します:

#import "MyScrollView.h"

@implementation MyScrollView

- (void) touchesEnded: (NSSet *) touches withEvent: (UIEvent *) event {

    if (!self.dragging) {
        [self.nextResponder touchesEnded: touches withEvent:event]; 
    }       
    [super touchesEnded: touches withEvent: event];
}

- (void)dealloc {
    [super dealloc];
}


@end

次に、メインのビュー コントローラーで通常の UIScrollView の代わりにこのサブクラスを使用します。これにより、touchesEnded:withEvent: メソッドが呼び出されます (別の方法として、任意のメソッドを呼び出すこともできます)。次に、ダブルタップを追跡します (その方法に関する情報が必要な場合はお知らせください)。

于 2010-11-30T16:42:04.933 に答える