アプリ内機能を使用するアプリがあります。
-(void) completeTransaction: (skPaymenttransaction *)transaction{
}
上記のメソッドが呼び出されたら、すべてのサブビューを削除して、メイン メニュー ウィンドウ (アプリの最初のビュー) に戻りたいと思います。
誰でもこれを行うための最もクリーンで最良の方法を提案できますか?
乾杯
編集:
物事を明確にするために
これが違いを生むかどうかはわかりませんが、メインメニュー画面があり、Enterボタンを使用して次のことを行っています。
UIViewController *controller = [[UIViewController alloc] initWithNibName:@"NibFile" bundle:nil];
controller.delegate = self;
controller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:controller animated:YES];
[controller release];
次に、ボタンのあるメイン画面があり、ユーザーがそれをタップすると、上記のように別のモーダル ビュー コントローラーが表示されます。このビューには、BUY と書かれたボタンがあります。彼らはこれをクリックして使用し、StoreKit がビジネスを行い、支払いが完了したら、上記の 2 つのモーダル コントローラーを取り除き、メイン メニュー画面を残します。
任意のアイデア..上記のように試しました
編集2:
@ジョーダンありがとう、
しかし、これを正しく行っているかどうかはわかりません。上記のコードを理解しました。
しかし、アプリを起動すると、アプリのデリゲートがメイン メニューであるビューコントローラーを読み込みます。次に、別のビューに移動するボタンがあり、ユーザーがロックされていない機能をクリックすると機能があり、ストアがオンになっている別のビューコントローラーが表示されます。
これを念頭に置いて、メインメニューに戻るにはどうすればよいですか。
私は次のことを試しました:
NSArray *subviews = [myAppdelegate.viewcontroller.view subviews];
for (int i=0; i<[subviews count]; i++)
{
[[subviews objectAtIndex:i] removeFromSuperview];
}
しかし、私は次の行に沿ってエラーを取得します:
「.」の前に「:」が必要です ?