1

こんにちは、私は iOS の初心者です。カスタム テーブル ビューを作成しました。2 つの配列があります。次に、テーブル ビューで両方の配列データを同時に 1 つずつセル コンテンツに設定したいです。必要な画像を表示します。

参照してください: http://i.stack.imgur.com/WIkaf.png

  NSMutableArray *SearchPatientCode;
  NSMutableArray *SearchPatientName;
  UITableView *table_SearchPatient;
  SearchPatientCode=[[NSMutableArray alloc]initWithObjects:@"PH230130420",@"PH230420321",@"Ph450362120", nil];

  SearchPatientName=[[NSMutableArray alloc]initWithObjects:@"Rahul Sharma",@"Amit   kumar",@"anil sharma", nil];

 table_SearchPatient=[[UITableView alloc]initWithFrame:CGRectMake(130,40,170,250)style:UITableViewStylePlain];
 table_SearchPatient.delegate=self;
 table_SearchPatient.dataSource=self;
 table_SearchPatient.layer.borderWidth = 2.0;
 table_SearchPatient.layer.borderColor = [UIColor grayColor].CGColor;
 [self.view addSubview:table_SearchPatient];

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

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];

if(tableView==table_SearchPatient)
{

    if (cell == nil)
    {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:MyIdentifier] ;

    }

    cell.textLabel.text =[NSString stringWithFormat:@"%@ /n %@",[SearchPatientCode objectAtIndex:indexPath.row],[SearchPatientName objectAtIndex:indexPath.row]];
    cell.textLabel.font = [UIFont fontWithName:@"Helvetica-Bold" size:10.0f];
   // cell.detailTextLabel.text=[SearchPatientName objectAtIndex:indexPath.row];
}
return cell;
 }

私はこれを使用していますが、これは思い通りに表示されません...この問題を解決してください!!

4

4 に答える 4

0

詳細cell.detailTextLabel.textを使用できます。

または、カスタムセルを作成して、このようにセルにラベルを追加できます

if (cell == nil)
{
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:MyIdentifier] ;

}

cell.textLabel.text = @"";
label_name_one = [[[UILabel alloc]initWithFrame:CGRectMake(10, 10, 90, 20)]autorelease];
[label_name_one setText:[SearchPatientCode objectAtIndex:indexPath.row]];

label_name_two = [[[UILabel alloc]initWithFrame:CGRectMake(92, 30, 170, 80)]autorelease];
[label_name_two setText:[SearchPatientCode objectAtIndex:indexPath.row]];

要件に応じて RectFrame を設定します。

于 2013-07-10T05:55:52.560 に答える
0

UILable以下のように新規追加numberOfLines = 2 ...

コンテンツデータを無制限に使用したい場合は、 setnumberOfLines = 0と setでそれを行うことができますlineBreakMode = UILineBreakModeWordWrap

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

              UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];

              if(tableView==table_SearchPatient)
              {
                 if (cell == nil)
                 {
                     cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:MyIdentifier] ;
                 }
                 UILabel *lbl = [[UILabel alloc]init];
                 lbl.text = [NSString stringWithFormat:@"%@ /n %@",[SearchPatientCode objectAtIndex:indexPath.row],[SearchPatientName objectAtIndex:indexPath.row]];
                 lbl.font = [UIFont fontWithName:@"Helvetica-Bold" size:10.0f];
                 [lbl setFrame:CGRectMake(20, 2, 250, 35)];// set frame which you want
                 [lbl setBackgroundColor:[UIColor clearColor]];// set any color here
//                 lbl.lineBreakMode = UILineBreakModeWordWrap; // set it if you want to height of UILable with its content (Multiple line)
                 lbl.numberOfLines = 2;// Add this line // Set 0 if you want to multiple line.
                 [cell.contentView addSubview:lbl];
             }
             return cell;
          }
于 2013-07-10T05:34:35.780 に答える