あなたが説明したすべての問題は、レイアウトの悪さが原因です。あなたのプロジェクトをダウンロードして修正しました。私がやったこと:1.自動レイアウトを無効にしました。簡単にするためにそうしました。これはおそらく自動レイアウトでも実行できますが、この場合は自動レイアウトを使用しない方がはるかに簡単です。2. テーブル ビューとトップ ラベルの自動サイズ変更を修正しました。3. テーブル ビュー セルのラベルの自動サイズ変更を修正しました。これにより、削除ボタンの問題が修正されます。
修正されたプロジェクトは、ここからダウンロードできます。
編集:自動レイアウトを使用する場合は、この回答
で説明されているようにカスタム コードを記述する必要があります。
NSDictionary *dict = NSDictionaryOfVariableBindings(myLabel2);
[cell.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:[myLabel2]|" options:0 metrics:nil views:dict]];
私はあなたのプロジェクトでコードをチェックしましたが、うまくいきました。自動レイアウト バージョンは、ここからダウンロードできます。
編集 2:
回転の問題を修正するには、インターフェイスの向きを変更した後にテーブル ビューをリロードするだけです。
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
[super didRotateFromInterfaceOrientation:fromInterfaceOrientation];
UITableView *tv = (UITableView *)[self.view viewWithTag:200];
[tv reloadData];
}
ここでチェックしてください。