##やったこと
Storyboard上でまずViewControllerをおき、次にUIViewを画面全体に広げたあと、UITableViewをUIViewの上におきました。そして、UITableViewCellをUITableViewに設置し、 UITableViewとViewControllerをDelegate, DataSourceでつなぎました。そして、コードには
class HomeViewController: UIViewController, UITableViewDelegate, UITableViewDataSource { // please use Auto layout in real project override func viewDidLoad() { super.viewDidLoad() } //Tableview let TODO = ["Ⅰ", "Ⅱ", "Ⅲ"] func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return TODO.count } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { // セルを取得する let cell: UITableViewCell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) // セルに表示する値を設定する cell.textLabel!.text = TODO[indexPath.row] return cell } }
と記述しました
Runすると以下の警告が出ました
[TableView] Warning once only: UITableView was told to layout its visible cells and other contents without being in the view hierarchy (the table view or one of its superviews has not been added to a window). This may cause bugs by forcing views inside the table view to load and perform layout without accurate information (e.g. table view bounds, trait collection, layout margins, safe area insets, etc), and will also cause unnecessary performance overhead due to extra layout passes. Make a symbolic breakpoint at UITableViewAlertForLayoutOutsideViewHierarchy to catch this in the debugger and see what caused this to occur, so you can avoid this action altogether if possible, or defer it until the table view has been added to a window. Table view: <UITableView: 0x7f888f827000; frame = (0 263; 350 522); clipsToBounds = YES; autoresize = RM+BM; gestureRecognizers = <NSArray: 0x60000073cb40>; layer = <CALayer: 0x60000095a680>; contentOffset: {0, 0}; contentSize: {350, 132}; adjustedContentInset: {0, 0, 0, 0}; dataSource: <MathDuel.HomeViewController: 0x7f888e606a90>>
##調べた内容
ネットでUITableViewをUIView上で使うための方法を調べました。ですが、前例がとても古かったり、英語で記述されたものばかりで私の参考にはなりませんでした。
##実現したいこと
UITableViewをUIViewの上において使いたいです。最終的にはUITableViewを伸縮可能にさせたいと思っています。
##バージョン
Xcode Version 11.3.1
回答1件
あなたの回答
tips
プレビュー