質問: .... reportView.addView(barChartView) reportView.addSection("詳細結果") reportView.addView(detailedView) ``` のように足していくと実行した順に末尾に追加され、適切にレイアウトされるものです。これはイメージなので必ずしもこの通りでなくても構いません。必要な項目をビューに順次教えてやるとレポート(文書)ができあがると助かります。HTMLやLaTeXのようなマークアップ言語が適している分野です。またデザインセンスもないので、見出しの大きさなども自分で細かく調整するのではなくフレームワーク側できれいに作成されると見栄えがよくなると思います。 このような需要を満たす標準あるいは外部のフレームワークやライブラリがあれば教えてくださると幸いです。レポートを表示するというのは比較的ありふれている機能だと思いますが、日本語と英語で色々調べても見つけることができませんでした。 よろしくお願いします。
回答: 表示する項目数は本当に可変ですか? ストーリーボード又はxibでプロトタイプをレイアウトしてみて、項目数が固定で済みそうならAutoLayoutでの方法をおすすめします。 方法としては、文字で表現出来る項目をNSLabelでレイアウトし、Inspectorでフォント・サイズなどを設定していけば、レポート生成時に文字の大きさなどで悩む必要がなくなります。 また、複数のグラフについてですが、これも、layoutのconstraint(制約)をアウトレットとして持ち、outlet変数.constraintで幅でも高さでもプログラムからいつでも変えられますし、 グラフ全体をViewとしてレイアウトし、Viewの中にUIImageで描いたImageを貼り付けるとグラフの枚数が増えても簡単に実現できるように思えるからです。 上記の方法で、レイアウトを事前に決め、コーディングは内容を生成する事に注力するというレイアウトとコンテンツの分離が出来、コードもすっきりすると思います。 なので、事前にレイアウトしたUILabel等に、.setText()で内容を書き加えていく方がいいと思います