0

私はプログラミングが初めてで、一晩中検索して、長い間これを理解するのに苦労していました。カント....ナビゲーションコントローラーを使用したくありませんが、私がやろうとしているのはこれです。

したがって、プロジェクトには2つのクラスがあります。クラス 1 とクラス 2。これで Class1 にボタンができました。このボタンを押すと、画面が Class2 になるようにしたいです。最も近いのは親クラスを作成することでしたが、それを行うと、ボタンは両方のクラスに残ります。

- (IBAction)addScheduleB:(id)sender {
    [UIView beginAnimations:@"View Curl" context:nil];
    [UIView setAnimationDuration:1.00];
    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
    if (self.firstScreen.view.superview ==nil){
        if(self.firstScreen==nil) {
            self.firstScreen = [[FirstScreen alloc] initWithNibName:@"FirstScreen" bundle:nil];
        }
        [self.config1.view removeFromSuperview];
        [self.view insertSubview:self.firstScreen.view atIndex:0];
        [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.view cache:YES];
        [self.config1.view removeFromSuperview];
        [self.view insertSubview:self.firstScreen.view atIndex:0];
        [sender setTitle:@"Switch To DVR"];

    }
    else{
        if(self.config1 == nil){
            self.config1 = [[Config1 alloc] initWithNibName:@"Config1" bundle:nil];
        }
        [self.firstScreen.view removeFromSuperview];
        [self.view insertSubview:self.config1.view atIndex:0];
        [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.view cache:YES];
        [self.firstScreen.view removeFromSuperview];
        [self.view insertSubview:self.config1.view atIndex:0];
        [sender setTitle:@"Switch To TV"];
    }
    [UIView commitAnimations];
}

親クラスを削除して、2 つのクラスだけにしたいと考えています。

クラス1内にボタンを押してクラス2に移動することは可能ですか???

4

4 に答える 4

0

次のようなものを試してください:

- (IBAction)flipViews {
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.6f];

if ([saisieCompleteView superview])
{
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.view cache:YES];
    [saisieCompleteView removeFromSuperview];
    [self.view addSubview:saisieRapideView];
    [self.view sendSubviewToBack:saisieCompleteView];
}
else {
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.view cache:YES];
    [saisieRapideView removeFromSuperview];
    [self.view addSubview:saisieCompleteView];
    [self.view sendSubviewToBack:saisieRapideView];
}

[UIView commitAnimations];
}

saisieCompleteView と saisieRapideView の両方が、プリンシパル ビューのサブビューである必要があります。

于 2012-11-14T10:21:35.880 に答える
0

YouTube Hereには 7 分間のチュートリアルがあります。これは、ストーリーボードなしでボタンを使用してあるビューから別のビューに移動する方法を示しているため、あるクラスから別のクラスに移動するコードを学習できます。

これが役立つことを願っています。初心者であることに関しては、YouTube を見回すと、学習に役立つチュートリアルがたくさん見つかります。:)

編集:これはナビゲーションコントローラーを使用しません

于 2012-11-14T10:43:01.010 に答える
0

このソリューションが Class2 からオブジェクトを作成し、Button1 が押されたときに Class2 の object.View をサブビューとして Class1.view に追加するのに役立つことを願っています

幸運を

于 2012-11-14T10:06:48.040 に答える
0

モーダル フリップ トランジションで別のビューをポップすることができます。

[self presentViewController:Class2 animated:YES completion:^{
        // Some code on completeion
 }];

Class2 ビューを閉じるには:

[self dismissViewControllerAnimated:YES completion:^{
    //code
}];

現在のView Controllerから出たくない場合は、次のように反転できます。

BOOL toShowSecond = YES;

...

[UIView transitionWithView:self.view
                  duration:1.0
                   options:(toShowSecond?UIViewAnimationOptionTransitionFlipFromLeft:UIViewAnimationOptionTransitionFlipFromRight)
                animations:^{
                    if(toShowSecond) {
                        firstView.hidden = YES;
                        secondView.hidden = NO;
                    } else {
                        firstView.hidden = NO;
                        secondView.hidden = YES;
                    }
                }
                completion:^(BOOL finished){
                    toShowSecond = !toShowSecond;
                }];
于 2012-11-14T10:18:19.960 に答える