gpt4 book ai didi

iPhone:cornerRadius 质量下降

转载 作者:行者123 更新时间:2023-12-03 20:21:30 24 4
gpt4 key购买 nike

我有一个 UILabel,我使用cornerRadius 在图层上创建一个半径。最终目标是让标签看起来像苹果在邮件应用程序中所做的那样。

一开始看起来很棒,但是一旦你深入到该行并返回几次,圆边的质量就开始下降。您可以在屏幕截图中看到,左侧是 block 状的。

为什么会发生这种情况?它似乎是在加载该 View 大约 2 次后发生的。

alt text
(来源:puc.edu)

这是我的单元格创建方法:

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

static NSString *CellIdentifier = @"Cell";

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

Trip *trip = [fetchedResultsController objectAtIndexPath:indexPath];
cell.textLabel.text = trip.title;
cell.detailTextLabel.text = @"Date of trip";
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

// Create a nice number, like mail uses
UILabel *count = [[UILabel alloc] initWithFrame:CGRectMake(cell.contentView.frame.size.width - 50, 12, 34, 20)];
[count setText:[NSString stringWithFormat:@"%i",[[trip.rides allObjects] count]]];
[count setFont:[UIFont fontWithName:@"Helvetica-Bold" size:16]];
count.textAlignment = UITextAlignmentCenter;
count.backgroundColor = [UIColor grayColor];
count.textColor = [UIColor whiteColor];
count.layer.cornerRadius = 10;
[cell addSubview:count];
[count release];

return cell;

}

最佳答案

在每次调用 cellForRowAtIndexPath 时,您都会创建一个新的 count UILabel。最终,在同一个地方会有多个重叠 View 具有相同的抗锯齿曲线,因此它看起来会是 block 状的。

尝试仅在创建新单元格时在 if (cell == nil) block 中创建 count UILabel。否则,按标签获取count标签。

if ( cell == nil ) {
cell = ...
count = ...
...
count.tag = 'coun';
[cell.contentView addSubview:count];
[count release];
} else {
count = (UILabel *)[cell viewWithTag:'coun'];
}

[count setText:[NSString stringWithFormat:@"%i",[[trip.rides allObjects] count]]];

关于iPhone:cornerRadius 质量下降,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3009620/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com