質問

ボタンをクリックした後、ユーザーが映画を表示できるシンプルなアプリを作成しています。最初に表示される画面は、2つのボタンを備えたメインメニューです。そのうちの1人は、ユーザーをサブビューに送信します。これをIBACTIONメソッドでコーディングしました。

ViewConroller *nextView = [[ViewController alloc] initWithNibName:@"NextMenu" bundle nil];
[self.view addSubview:[nextView view]];
[nextView release];

この部分は、サブビューに前のビューの下部に20 pxバーが表示されていることを除いて、問題ありません。私は周りを見回しましたが、どちらのソリューションもありませんでした これです 私のために働きなさい。これは主な問題でさえありません。サブビューでは、ボタンをクリックするたびにアプリが爆発します。 IBACTIONメソッドは、メソッド内で行を実行する前に破損します。ここで、Goback Ibactionメソッドでは、サブビューを却下してメインメニューに戻ろうとしています。

[self.view removeFromSuperview];

私の接続は私のXIBファイルで正しいものであり、すべてが整っているようです。ボタンは実行されていません。サブビューを追加することに関係しているのか、それとも何が必要かはわかりません。 GoogleとこのWebサイトで多くの検索を行ってきましたが、まだ解決策が見つかりません。

これが私が得ているエラーの例です:

Terminating app due to uncaught exception 'NSInvalidArgumentException, reason: '-[__NSCFType goBack:]: unrecognized selector sent to instance 0x5640b70'

うまくいけば、皆さんが私を助けることができます、これは本当に非常にイライラします。私はすべてを試したような気がします。御時間ありがとうございます。これ以上の情報を提供する必要がある場合はお知らせください。再度、感謝します。

役に立ちましたか?

解決

ViewConroller *nextView = [[ViewController alloc] initWithNibName:@"NextMenu" bundle nil];

ビューコントローラーが作成されます。

[self.view addSubview:[nextView view]];

self.view の付加価値 nextView.view サブビューで保持しているので(nbそれは保持しました next.view 価値はありません nextView 自体)

[nextView release];

nextView リリースされ、すぐに契約されます(誰にも保持されていないため)

ボタンは、契約に合わせたオブジェクトへのメッセージを送信しようとしています - >動作は未定義です。 goBack: 意味。

そのため、独自のナビゲーションでホイールを発明してはなりません(特にこれに慣れていない場合)。使用する UINavigationController 代わりは。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top