0

私はiOS開発を始めたばかりで、これまでのところうまくいかないように見える何かを達成しようとしていました...

状況は次のとおりです。UITableView を配置した nib ファイルがあり、UIToolbar のすぐ下にあります。それはうまく機能し、さまざまな画面サイズなどを試してみるとスケーリングは問題ありません...だから私は幸せでした.

しかし、ここに問題があります。ツールバーを表示するかどうかは、ユーザーがアプリケーションのどこかで選択できます。ただし、ユーザーがツールバーを表示しないことを選択した場合は、ツールバーでメソッド setHidden を呼び出して「YES」を渡すだけです。これを試してみると、ツールバーはなくなりましたが、UITableView が画面の下部に引き伸ばされていないため、非常に醜い結果が得られます。

最後に質問です。ツールバーを非表示にするときに、ビューを自動的に下まで伸ばすにはどうすればよいですか? コードでそれを行う必要があると思いますが(どこかの構成オプションだけでなく)、Androidから来ているので、これは私にとってはやや奇妙です。

4

2 に答える 2

1

ツールバーを表示/非表示にするときに、テーブルビュー フレームのサイズを変更するのが最善の方法でしょう。

CGRect frame = myTableView.frame;
frame.size.height += toolbar.frame.height;
myTableView.frame = frame;
于 2012-11-20T11:40:18.337 に答える
-1

Auto-Layoutを使用しているため、UITableViewの高さ制約を作成し、IBOutletを介してViewControllerにリンクする必要があります。次に、UITableViewの高さを変更するには、次のようにします。

_tableViewHeightConstraint.constant += toolbar.frame.height;

これを次の方法でアニメーション化することもできます。

[UIView animateWithDuration:0.25 animations:^{
    _tableViewHeightConstraint.constant += toolbar.frame.height;
}];

[_tableView layoutIfNeeded]高さの制約を変更した後に呼び出す必要がある場合があることに注意してください。

于 2012-11-20T17:08:29.480 に答える