繁体   English   中英

iPhone:显示“报告”的最佳方法是什么?

[英]iPhone: what's the best way to display a "report'?

我有一个应用程序,需要在其中显示六(6)列和可变数量的行(行)的报告。

最好的方法是什么? 我尝试了UITextView,但是无法设置字体大小以使数据适合每一行。

我通常为此使用UIWebViews。

用NSArray和一些不错的CSS创建一行html表的十几行代码。


编辑:我可以向您展示我在最近5分钟内编写的示例。 如果您对html有基本的了解,那么就没有太多了。 当然,您可以更进一步。
即使您对html一无所知,我相信您也可以在几个小时内了解一些简单表格显示的基础知识。

- (NSString *)htmlTableRowFromArray:(NSArray *)array withOpenTag:(NSString *)openTag andCloseTag:(NSString *)closeTag {
    NSMutableString *rowHtmlStr = [NSMutableString string];
    for (NSString *str in array) {
        [rowHtmlStr appendFormat:@"%@ %@ %@\n", openTag, str, closeTag];
    }
    return rowHtmlStr;
}


- (void)displayReport {
    NSArray *dataArray = ...;
    NSArray *myHeader = ...;

    NSMutableString *htmlStr = [NSMutableString stringWithString:@"<html><head><title>MyTable</title></head><body>"];

     // the table starts here
    [htmlStr appendString:@"<table width=\"100%\" style=\"background-color:#CCC\" border=\"1\" cellpadding=\"4\" cellspacing=\"0\">"];

    // this will create a table header
    [htmlStr appendFormat:@"<tr>%@</tr>", [self htmlTableRowFromArray:myHeader withOpenTag:@"<th>" andCloseTag:@"</th>"]];

    for (NSArray *line in dataArray) {
        // one row for each array in the data
        [htmlStr appendFormat:@"<tr>%@</tr>", [self htmlTableRowFromArray:line withOpenTag:@"<td>" andCloseTag:@"</td>"]];
    }
    // table ends
    [htmlStr appendString:@"</table>"];

    [htmlStr appendString:@"</body></html>"];

    [webView loadHTMLString:htmlStr baseURL:nil];
}

该表应如下所示。 恕我直言,工作量还不错。

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM