[英]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.