1

私はObjective-Cコーディングが初めてです。ただし、出力の下の画像を見ると、私の問題は非常に簡単です。基本的に、行内のすべてのデータが独自の列にあるように見えるように、すべてを正しく配置したいと考えています。基本的に、各行はその上の行に揃える必要があります。私のプログラムは、Web の JSON ファイルから各フィールドを取得しています。コードを参照して、どのように実行しているかを確認してください。

ここに画像の説明を入力

-(void)connectionDidFinishLoading:(NSURLConnection *)connection
{

    NSDictionary *allDataDictionary = [NSJSONSerialization JSONObjectWithData:webData    options:0 error:nil];



    for (NSDictionary *diction in allDataDictionary) {
        NSString *currDate = [diction objectForKey:@"Current Date"];
        NSString *timePeriod = [diction objectForKey:@"Time Period"];
        NSString *transCount = [diction objectForKey:@"Transaction Processed"];
        NSString *approved = [diction objectForKey:@"Approved"];
        NSString *posApproved = [diction objectForKey:@"Standing App"];
        NSString *approvalRate = [diction objectForKey:@"Approval Rate"];
        NSString *respTime = [diction objectForKey:@"Resp Time"];

        [array addObject:[NSString stringWithFormat:@"%@       %@       %@       %@       %@       %@", timePeriod, transCount, approved, posApproved, approvalRate, respTime]];



    } [[self myTableView] reloadData];

マイ テーブル ビュー:

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";


    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if(!cell)
    {
        cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }

   // NSString *currDate = [[array objectAtIndex:indexPath.row] objectForKey:@"Current Date"]; //added
   //  NSString *someOtherKey = [[array objectAtIndex:indexPath.row] objectForKey:@"Some other key"]; //added


    cell.textLabel.text = [array objectAtIndex:indexPath.row];
   // cell.textLabel.text = [NSString stringWithFormat:@"%@  %@", currDate, someOtherKey]; //added

    return cell;
}
4

3 に答える 3

1

HTMLソリューション以外の方法は見当たりません。
テーブルを使用してNSStringを作成し、UIWebViewに表示するだけです。

例えば

NSString* htmlString = [NSString stringWithFormat:@"<table><tr>"
                                                    "<td>%@</td>"
                                                    "</tr></table>",
                                                    JSON_VARIABLE];
[webView loadHTMLString:htmlString baseURL:nil];
于 2012-11-18T20:42:53.957 に答える
0

すべての文字列の標準の長さを決定し、必要な余分なスペースをスペース文字で埋めることができます。すべての文字列の間で最大の長さを選択すると、文字列はカットされません。

NSString* formatted=[yourString stringByPaddingToLength: maxLength withString: @" " startingAtIndex: 0];
于 2012-11-18T20:46:36.223 に答える
0

ここの空白の代わりに:

array addObject:[NSString stringWithFormat:@"%@       %@       %@       %@       %@       %@", timePeriod, transCount, approved, posApproved, approvalRate, respTime]];

次のようなタブレータ "\t" を使用できます。

array addObject:[NSString stringWithFormat:@"%@ \t %@ \t %@ \t %@ \t %@ \t %@", timePeriod, transCount, approved, posApproved, approvalRate, respTime]];
于 2012-11-18T20:18:40.707 に答える