私はここで良いリソースを見つけられなかったので、これを公開するのは素晴らしいことだと思いました...そして私の髪を引っ張るのをやめさせます.
アプリ「アジェンダ」(カレンダーアプリ)のように振る舞う-各セルが1日を表すテーブルビューがあります。次のステップは、cellForRowAtIndexPath を使用して、eventsArray を適切なセル内に配置することです。
イベントの配列ではなく、各 indexPath を使用してイベントを表します。(以下に、その部門でヘルプを探している他の人のために、参照として実際のコードを投稿しました)。
誰かが単一のセル内でeventsArrayを実行するコードを作成できれば素晴らしいでしょう-私はそれが私が慣れていないcellForRowAtIndexPathの使用であると仮定しています。前もって感謝します。どんな質問でも撃つだけです。
{
#pragma mark - TableView stuff
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
A1Section *a1section = [self.sections objectAtIndex:section];
return [a1section.rows count];
}
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return [self.sections count];
}
-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
A1Section *a1section = [self.sections objectAtIndex:section];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"EEEE, MMM d, yyyy"];
NSString *myDateString = [formatter stringFromDate:a1section.date];
return [NSString stringWithFormat:@"%@", myDateString];
}
-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
return 47;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
return 75;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UILabel *timeLabel = nil;
UILabel *nameLabel = nil;
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
cell.backgroundColor = [UIColor redColor];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
timeLabel = [[UILabel alloc] initWithFrame:CGRectMake(11.0, 13.0, 55.0, 15.0)];
[timeLabel setTag:1];
[timeLabel setBackgroundColor:[UIColor clearColor]];
timeLabel.textAlignment = UITextAlignmentLeft;
[timeLabel setFont:[UIFont fontWithName:@"HelveticaNeue-Bold" size:14]];
[timeLabel setTextColor:[UIColor blackColor]];
[timeLabel setLineBreakMode:NSLineBreakByClipping];
[timeLabel setNumberOfLines:1];
[cell.contentView addSubview:timeLabel];
nameLabel = [[UILabel alloc] initWithFrame:CGRectMake(85.0, 11.0, 200.0, 20.0)]; //x = 80.0, width = 235
[nameLabel setTag:2];
[nameLabel setBackgroundColor:[UIColor clearColor]];
nameLabel.textAlignment = UITextAlignmentLeft;
[nameLabel setFont:[UIFont fontWithName:@"HelveticaNeue-Bold" size:17]];
[nameLabel setTextColor:[UIColor blackColor]];
[nameLabel setLineBreakMode:NSLineBreakByTruncatingTail];
[nameLabel setNumberOfLines:1];
[cell.contentView addSubview:nameLabel];
} else {
timeLabel = (UILabel *)[cell.contentView viewWithTag:1];
nameLabel = (UILabel *)[cell.contentView viewWithTag:2];
}
A1Section *a1section = [self.sections objectAtIndex:indexPath.section];
PFObject *object = [a1section.rows objectAtIndex:indexPath.row];
NSDate *someDate = [object objectForKey:@"startDate"];
NSString *time = [self.dateFormatter stringFromDate:someDate];
[(UILabel *)[cell.contentView viewWithTag:1] setText:time];
[(UILabel *)[cell.contentView viewWithTag:2] setText:[object objectForKey:@"textContent"]];
return cell;
}
}