3

アプリを最初に起動した後、アプリの機能を説明するための簡単なチュートリアルをユーザーに示したいと思います。

したがって、いくつかの矢印とラベルを使用して透明なUIImageViewを設定する必要があります。ここで、メインUI(より具体的には、tabbarcontrolerのnavigationviewcontrollerのtableviewcontroller)がチュートリアル画像の後ろに表示されます。

また、チュートリアルは複数の画像で構成されているため、別の画像に切り替えるタップジェスチャを追加したいと思います。

UIImageViewをタブバーコントローラーに追加し、それにジェスチャーレコグナイザーを追加しようとしましたが、タップに反応せず、ImageViewがない場合と同じように機能します-テーブル内の卵を選択し、ボタンを押します。

   -(void)nextTap:(UIGestureRecognizer*)nextTap
{
    //Show another image
}
-(void)showTutorial
{
    NSLog(@"Show tutorial");
    UIImageView *tutorialImage = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"BG"]];
    [self.navigationController.tabBarController.view addSubview:tutorialImage];
    UITapGestureRecognizer *nextTap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(nextTap:)];
    [tutorialImage addGestureRecognizer:nextTap];
}

誰かが私に、それが正しく機能するために、どこに私のビューを追加すべきか教えてもらえますか?

4

3 に答える 3

3

別のUIWindowでそれを実行してください!

このような:

-(void)showTutorial
{
    NSLog(@"Show tutorial");


    CGRect screenBounds = [UIScreen mainScreen].bounds;
    UIWindow *anotherWindow = [[UIWindow alloc] initWithFrame:CGRectMake(0, 0, screenBounds.size.width, screenBounds.size.height)];
    anotherWindow.windowLevel = UIWindowLevelAlert+1;
    [anotherWindow makeKeyAndVisible];

    // make the background of the new window black alpha 0.5
    anotherWindow.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.5];

    // add a test-image (icon)
    UIImageView *image = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"icon.png"]];
    [anotherWindow addSubview:image];

    UIImageView *tutorialImage = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"BG"]];
    [anotherWindow addSubview:tutorialImage];
    UITapGestureRecognizer *nextTap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(nextTap:)];
    [tutorialImage addGestureRecognizer:nextTap];
}

編集済み!これで、あなたの場合にも機能するはずです。

于 2012-04-06T10:01:32.087 に答える
2

タブバーを追加した後、メイン画面に画像ビューを追加してみてください。これでうまくいく場合があります。あなたの主な要件がわかりませんでした。

于 2012-04-06T10:00:15.693 に答える
1

tutorialImage.userInteractionEnabled = YESを設定する必要があります。UIImageViewのuserInteractionEnabledプロパティのデフォルト値はNOです。これにより、UIImageViewがジェスチャであってもタッチイベントを受信できなくなります。

于 2012-04-06T14:42:30.677 に答える