1

私のプロジェクトをxibsからストーリーボードの使用に移しています。UIViewController から UITableViewController に作成した設定ページを追加しました。テーブル ビュー セルは、ストーリーボードで静的メソッドを使用して追加されます。テーブルには 5 つのセクションがあり、12 個のセルがあります。TableView に対して何かを行うコードは他になく、ストーリーボードのスクロールはオンになっています。私のiPhone 5で実行すると、ビューはスクロールしません。すべてのセルがそこにあり、セルを引っ張って非表示にすることができますが、手放すとまだ上にスクロールします。基本的に UIWebView のページをプルアップするときのように。Xcode は警告やエラーを表示しません。これを修正するにはどうすればよいですか?

編集:スクロールしない原因となっている 2 行のコードを見つけましたが、まだ修正方法がわかりません。このコードは、カスタム TextFieldTableCell を取得し、そのテキストを設定します。これは、ストーリーボードを使用しているためです。CellForRow を呼び出しません。

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    TextFieldTableCell *cell = (TextFieldTableCell *)[SettingsTable cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
    cell.textField.text = [[NSUserDefaults standardUserDefaults] objectForKey:@"Homepage"];
}

[super viewWillAppear:animated];下の2行がメソッドで呼び出された場合にのみ、TableViewのスクロールが無効になります- (void)viewWillAppear:(BOOL)animatedが、その行を呼び出すと、- (void)viewDidAppear:(BOOL)animatedそのテキストを表示するのに1秒かかることを除いて、まだスクロールされます。ユーザーが TableViewController を見たときに自動ロードされますが、回避策はありますか? viewWillLoad のように呼び出されるが、テーブルを無効にすべきではない他のメソッドはありますか?

4

0 に答える 0