0

さまざまなセクションを含むテーブル ビュー コントローラーをプログラムで作成します。3 番目のセクションにチェック マーク ボックスを付けて 3 つの行を追加します (ストーリーボードを使用しました)。

私の質問は、3 番目のセクションの左側にチェックボックスを設定する方法です。

ここに写真があります:コードを設定してください:不在コードセクションにチェックマークボックスのある3行を持っている代わりに

ストーリーボードでの私の見解は次のとおりです。

コードは次のとおりです。

- (void)viewDidLoad
{
[super viewDidLoad];
NSMutableArray *keys = [[NSMutableArray alloc] init];
NSMutableDictionary *contents = [[NSMutableDictionary alloc] init];


NSString *staKey = @"Start";
NSString *endKey = @"End";
NSString *absKey= @"Absence";

[contents setObject:[NSArray arrayWithObjects:@"Time: 08:00 Date: Fri,3 Aug, 2012", nil] forKey:staKey];
[contents setObject:[NSArray arrayWithObjects:@"Time: 17:57 Date: Fri,3 Aug, 2012", nil] forKey:endKey];
[contents setObject:[NSArray arrayWithObjects:@"Please set your code", nil] forKey:absKey];

[keys addObject:staKey];
[keys addObject:endKey];
[keys addObject:absKey];


[self setSectionKeys:keys];
[self setSectionContents:contents];
}



- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *key = [[self sectionKeys] objectAtIndex:[indexPath section]];
NSArray *contents = [[self sectionContents] objectForKey:key];
NSString *contentForThisRow = [contents objectAtIndex:[indexPath row]];

static NSString *CellIdentifier = @"CellIdentifier";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault 
reuseIdentifier:CellIdentifier];
}

[[cell textLabel] setText:contentForThisRow];
return cell;

 }


- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
NSMutableArray *weekArray = [[ NSMutableArray alloc] initWithObjects: @"Start Time", @"End Time",@"Absence Code", 
 nil];

return [weekArray objectAtIndex:section];
}


- (UITableViewCellAccessoryType)tableView:(UITableView *)tv accessoryTypeForRowWithIndexPath:(NSIndexPath  
*)indexPath {
return UITableViewCellAccessoryDisclosureIndicator;
}

前もって感謝します!

4

2 に答える 2

0

各チェックボックス セルはカスタムTableViewCell である必要があります。次に、ImageView と Label を TableViewCell にドロップし、didSelectRowAtIndex: を使用して、画像のチェック/チェック解除を切り替えます。

于 2012-08-08T07:42:45.243 に答える
0

編集:

UITableViewリンクの複数の行を選択すると、ヘルプが表示されます。

これを行います: 以下のメソッドのコードを変更します:

- (UITableViewCellAccessoryType)tableView:(UITableView *)tv accessoryTypeForRowWithIndexPath:(NSIndexPath  *)indexPath {
 if(indexPath.section ==2)
 {
  return UITableViewCellAccessoryCheckMark;
 }
 else
 {
  return UITableViewCellAccessoryDisclosureIndicator;
 }
}
于 2012-08-08T07:14:36.377 に答える