Objective-C
UITableView

UITableViewのaccessoryViewにUIViewを設定するときの注意点

More than 3 years have passed since last update.


accessoryViewにUIViewを設定すると上手くリサイズされない

UITableViewのaccessoryViewにカスタマイズしたUIViewを設定するとき、そのまま以下のように設定してもUIViewの大きさがセルの高さに合わせてリサイズされない。(AutoLayoutは使用していない。)

(customViewは次の投稿のCustomView2を参考に作成)


UIViewをNibから初期化する


tableview.accessoryView = customView;

また、以下のようにsetFrameを実行して小さくする場合はルートになっているViewは大きさが変わるものの、貼り付けてあるSubViewは上手く表示されない。

[customView setFrame:CGRect()];

結局SubViewの設定では,ビュー内部の大きさを変えないように設定して大きさ固定で表示させるようにした。

見た目は特に問題はなくなったが,できればリサイズを有効にできるようにしたい。

素直にAutoLayout使えばいいのかもしれないが、iOS5サポートすると使えないんだよなぁ。