テーブルセルの左に円を追加しようとしていますが、これを行うには最良の方法を見つけることができません。私は追加しようとしましたiOS:iPhoneのカレンダーリストのような背景色で円を描く
CGContextRef context= UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [UIColor redColor].CGColor);
CGContextSetAlpha(context, 0.5);
CGContextFillEllipseInRect(context, CGRectMake(10.0, 10.0, 10.0, 10.0));
CGContextSetStrokeColorWithColor(context, [UIColor redColor].CGColor);
CGContextStrokeEllipseInRect(context, CGRectMake(10.0, 10.0, 10.0, 10.0));
私のcellForRowAtIndexPathが無効なコンテキストエラーを取得し続けています。ここに私のcellForRowAtIndexPathがあります。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"AppointmentCell";
NSDictionary *appointment = [[self.appointments objectAtIndex:indexPath.section] objectAtIndex:indexPath.row];
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
int minutes = (int)[[NSString stringWithFormat:@"%@", [appointment objectForKey:@"start_time"]] integerValue];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:CellIdentifier];
}
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"h:mma"];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]];
NSDate *midnight = [NSDate dateWithTimeIntervalSince1970:0];
NSDate *newDate = [midnight dateByAddingTimeInterval:minutes*60];
NSString *newTime = [dateFormatter stringFromDate:newDate];
dateFormatter = nil;
cell.textLabel.text = newTime;
cell.detailTextLabel.textAlignment = UITextAlignmentCenter;
cell.detailTextLabel.text = [appointment objectForKey:@"reason"];
return cell;
}
どのように私はちょうどiPhoneのカレンダーリストビューのような色で円を追加しますか?
あなたの質問には答えられませんが、そのdateFormatterをクラスのプロパティにする必要があります。セルが表示されるたびに新しいNSDateFormatterを作成します。これは必要ではなく、パフォーマンスにとって非常に悪いことです。 –
、ありがとうございます – Bot