我正在开发一个应用程序来显示活动和活动中的内容。我是Cocoa的新手,但已经创建了一个基本界面来显示Activities数组的内容,然后响应一个按钮来显示所有选定活动的Laps和一些摘要数据。以下是类结构:
活动类:
Lap Class:
我真正想要做的是显示一个报告视图,其中显示每个选定的活动及其详细信息和摘要以及底部的摘要,我可以打印。
Running Oct-22-2011 10:10:14 AM
Lap 1 10:10:14 AM 3.80 mi 42:48 11:16/mi ...
Summary 3.80 mi 42:48 11:16/mi ...
Running Oct-24-2011 04:07:06 PM
Lap 1 04:07:06 PM 3.10 mi 31:19 10:06/mi ...
Lap 2 04:38:31 PM 3.10 mi 31:16 10:05/mi ...
Summary 6.20 mi 1:02:36 10:05/mi ....
Grand Summary 10.0 mi 1:45:25 10:29/mi ...
摘要是总计和平均值,具体取决于值。我想要列标题和可能的行突出显示摘要。
我看过可能使用NSOutlineView,因为我希望所有内容都能很好地在列中对齐,但不知道如何使用两个不同的类来显示。我试过用HTML创建一个NSTextView,结果不错。但是,我真的不想生成HTML来解决这个问题。
任何想法和可能的例子?
答案 0 :(得分:0)
经过研究,我找不到在IB中实现我想要的界面的方法。我回过头来使用WebView和HTML来生成报告结果。使用表格和CSS,我能够创建一组相当令人愉快的报告,可以轻松打印。
这是生成的HTML,因为我无法发布图像(我对stackoverflow来说太新了)。
<table class='first'>
<tr class='activity'><td>Running</td><td colspan='10' align='left'>Oct 2, 2011 11:29 AM</td></tr>
<tr class='lap'><th></th><th>Start Time</th><th>Distance</th><th>Elapsed Time</th><th>Avg Pace</th><th>Max Pace</th><th>Avg Speed</th><th>Max Speed</th><th>Calories</th><th>Avg Heartrate</th><th>Max Heartrate</th></tr>
<tr class='lapdetails'><td></td><td class='lap'>11:29:53 AM</td><td class='lap'>3.68 mi</td><td class='lap'>38:21.62</td><td class='lap'>10:25/mi</td><td class='lap'>5:43/mi</td><td class='lap'>5.8 mph</td><td class='lap'>10.5 mph</td><td class='lap'>449</td><td class='lap'>0</td><td class='lap'>0</td></tr>
<tr class='activitysummary'><td>Totals:</td><td class='lap'></td><td class='lap'>3.68 mi</td><td class='lap'>38:21.62</td><td class='lap'>10:25/mi</td><td class='lap'>5:43/mi</td><td class='lap'>5.8 mph</td><td class='lap'>10.5 mph</td><td class='lap'>449</td><td class='lap'>0</td><td class='lap'>0</td></tr>
</table>
<table>
<tr class='activity'><td>Running</td><td colspan='10' align='left'>Oct 7, 2011 12:22 PM</td></tr>
<tr class='lap'><th></th><th>Start Time</th><th>Distance</th><th>Elapsed Time</th><th>Avg Pace</th><th>Max Pace</th><th>Avg Speed</th><th>Max Speed</th><th>Calories</th><th>Avg Heartrate</th><th>Max Heartrate</th></tr>
<tr class='lapdetails'><td></td><td class='lap'>12:22:59 PM</td><td class='lap'>3.18 mi</td><td class='lap'>31:17.35</td><td class='lap'>9:49/mi</td><td class='lap'>6:44/mi</td><td class='lap'>6.1 mph</td><td class='lap'>8.9 mph</td><td class='lap'>402</td><td class='lap'>148</td><td class='lap'>171</td></tr>
<tr class='activitysummary'><td>Totals:</td><td class='lap'></td><td class='lap'>3.18 mi</td><td class='lap'>31:17.35</td><td class='lap'>9:49/mi</td><td class='lap'>6:44/mi</td><td class='lap'>6.1 mph</td><td class='lap'>8.9 mph</td><td class='lap'>402</td><td class='lap'>148</td><td class='lap'>171</td></tr>
</table>
<table>
<tr class='activity'><td colspan='11'>Summary</td></tr>
<tr class='lap'><th></th><th>Activities</th><th>Distance</th><th>Elapsed Time</th><th>Avg Pace</th><th>Max Pace</th><th>Avg Speed</th><th>Max Speed</th><th>Calories</th><th>Avg Heartrate</th><th>Max Heartrate</th></tr>
<tr class='activitysummary'><td class='lap'></td><td class='lap'>2</td><td class='lap'>6.86 mi</td><td class='lap'>1:09:38.97</td><td class='lap'>10:07/mi</td><td class='lap'>5:43/mi</td><td class='lap'>5.9 mph</td><td class='lap'>10.5 mph</td><td class='lap'>851</td><td class='lap'>148</td><td class='lap'>171</td></tr>
<tr class='activitysummary'><td class='lap'></td><td class='lap'>per Activity</td><td class='lap'>3.43 mi</td><td class='lap'>34:49.49</td><td class='lap'>10:07/mi</td><td class='lap'> </td><td class='lap'>5.9 mph</td><td class='lap'> </td><td class='lap'>425</td><td class='lap'> </td><td class='lap'> </td></tr>
</table>