iPhone開発初心者です。私は今、いくつかの Android アプリを作成したので、iPhone で試してみようと思いました。
ただし、ストーリーボードのナビゲーションは直感に反すると思います。2 つの画面を持つ基本的なタブ付きアプリを作成しました。どちらの画面にも、さまざまなデータを表示するテーブル ビューが含まれています。ユーザーがテーブルのセルをクリックすると、新しい画面が開きます。単純?どうやらそうではありません。
新しいviewControllerを追加し、ルートタブ付きビューコントローラーからリンクされている既存のtableViewの1つでテーブルセルをctrlクリックして、新しいコントローラーにシーグを追加しようとしました。セルをクリックしても、シミュレーターでは効果がありません。
新しいコントローラーをカスタム クラスにリンクして、これが落ち込んでいるかどうかを確認しようとしましたが、UIViewController から継承する新しい Objective-C クラスを作成しても、ドロップダウン ボックスに表示されません。
ビュー呼び出しの階層がどのように機能するかを誤解していない限り?
どんな助けでも大歓迎です!
編集:
OK、以下のアドバイスでさらに先に進むことができましたが、まだ十分ではありません. タブ ビュー オプションごとにナビゲーション コントローラーを追加しました。次に、セル行を Ctrl キーを押しながらクリックして新しい webview コントローラーにリンクし、プッシュする選択セットを選択しました。WebView をコントローラーに Ctrl キーを押しながらクリックしてアウトレット デリゲートにし、次のコードを行に追加しました。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if (_webViewController == nil)
{
self.webViewController = [[[RSSWebViewController alloc] initWithNibName:@"WebViewController" bundle:[NSBundle mainBundle]] autorelease];
}
RSSEntry *entry = [_allEntries objectAtIndex:indexPath.row];
_webViewController.entry = entry;
[self.navigationController pushViewController:_webViewController animated:YES];
}
私も追加しました:
@property (retain, nonatomic) IBOutlet UIWebView *webView;
新しいビュー コントローラーのヘッダー ファイルに。シミュレーターで行をクリックすると、次の例外がスローされます。
2013-03-23 17:21:17.241 RSS[1330:c07] *キャッチされていない例外 'NSInternalInconsistencyException' が原因でアプリを終了しています。
これまでのコメントをありがとう。:)