0

連絡先を保存できるアプリを開発しています。テーブルビューには姓が表示されていますが、名と右揃えの日付も表示したいと考えています。名は最初の名前として保存され、日付フィールドは日付として保存されます。誰でもこれを行う方法を教えてもらえますか?

ありがとう

 - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{


return [[self.fetchedResultsController sections]count];
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
id <NSFetchedResultsSectionInfo> secInfo = [[self.fetchedResultsController sections] objectAtIndex:section];
return [secInfo numberOfObjects];
}

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

Contacts *contacts = [self.fetchedResultsController objectAtIndexPath:indexPath];
cell.textLabel.text = contacts.name;


return cell;
}

-(NSString *) tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
return [[[self.fetchedResultsController sections]objectAtIndex:section]name];
}
4

2 に答える 2

1

このようなことをしてください。. " cellForRowAtIndexPath" メソッドで。

- (UITableViewCell *)tableView:(UITableView *)atableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

{
    UILabel *firstName;
    UILabel *lastName;

    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [_tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (!cell)
    {

        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
        firstName =[[UILabel alloc]initWithFrame:CGRectMake(20,0,250,45)] ;
        [cell.contentView addSubview:firstName]; // As your requirement ,adjust the CGRECT. 

        firstName = [UIColor colorWithRed:0.75 green:0.25 blue:0.25 alpha:1.0];
        firstName.backgroundColor = [UIColor clearColor];
        firstName.font = [UIFont systemFontOfSize:[UIFont labelFontSize]];

        lastName =[[UILabel alloc]initWithFrame:CGRectMake(20,35,250,30)] ;
        [cell.contentView addSubview:lastName];

    }
   firstName.text = ['List' objectAtIndex:indexPath.row];
    bottomLabel.text=['List_name' objectAtIndex:indexPath.row];

    return cell;

}
于 2013-05-11T04:42:25.033 に答える
0

メイン ラベルにファースト ネームとラスト ネームの両方が必要で、別のラベルに日付が必要ですか? それとも3つとも同じレーベル?または、提案された回答のように3つの異なる方法で?

これは、あなたが要求しているようなものを達成するための最も簡単な方法かもしれません:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

{
    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (!cell)//Setting CellStyle to Subtitle, might have to change that in Storyboard as well, by clicking the cell and choose Subtitle as style
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];

    Contacts *contacts = [self.fetchedResultsController objectAtIndexPath:indexPath];

    //If I understood right, you knew how to get firstName, and lastName(through .name?), but not both at the same time into the same label?
    //Switch out the following 'contacts.firstName' and 'contacts.name' to fit your needs if it's not right:
    NSString *fullName = [NSString stringWithFormat:@"%@ %@", contacts.firstName, contacts.name];
    cell.textLabel.text = fullName;
    //And put the date on the 'subtitle'(detailTextLabel). Might not work if the date-variable isn't a text, but another type of object, like NSDate etc.
    cell.detailTextLabel.text = contacts.date;

    return cell;

}

contact.date-variable が NSDate であることが判明した場合は、このリンクを参照して日付を NSString に入れ、次に使用しますcell.detailTextLabel.text = stringFromDate;

于 2013-05-11T12:24:16.793 に答える