我有UITableView
设置了属性Grouped
。它看起来像带有圆边。这很棒。
一旦我开始滚动UITabelView
,圆边就会消失,看起来像这样:
圆边消失了!
我该如何处理呢?当我向上和向下滚动UITableView
时,圆边会像第一张图片一样保留?
问的相关代码:
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
// Customize the number of rows in the table view.
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [nameCatalog count];
}
// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
cell.backgroundColor = [UIColor clearColor];
cell.selectionStyle = UITableViewCellSelectionStyleGray;
cell.backgroundView.opaque = NO;
cell.textLabel.backgroundColor = [UIColor clearColor];
cell.textLabel.opaque = NO;
cell.textLabel.textColor = [UIColor whiteColor];
cell.textLabel.highlightedTextColor = [UIColor whiteColor];
cell.textLabel.font = [UIFont boldSystemFontOfSize:18];
cell.detailTextLabel.backgroundColor = [UIColor clearColor];
cell.detailTextLabel.opaque = NO;
cell.detailTextLabel.textColor = [UIColor whiteColor];
cell.detailTextLabel.highlightedTextColor = [UIColor whiteColor];
cell.detailTextLabel.font = [UIFont systemFontOfSize:14];
}
[[cell textLabel] setText:[[nameCatalog objectAtIndex:indexPath.row] valueForKey:@"name"]];
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSString *escapedString = [[[nameCatalog objectAtIndex:indexPath.row] valueForKey:@"url"] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *url=[NSURL URLWithString:escapedString];
[webView loadRequest:[NSURLRequest requestWithURL:url]];
[self.view addSubview:webView];
[self.navigationController pushViewController:webView animated:YES];
[webView setHidden:NO];
UIBarButtonItem *infoButton = [[UIBarButtonItem alloc]
initWithTitle:@"Retour" style:UIBarButtonItemStyleBordered target:self action:@selector(tableRetour:)];
self.navigationItem.leftBarButtonItem = infoButton;
[self.view addSubview:webView];
}
答案 0 :(得分:3)
那是因为在第一张图片中你看到分组tableView中的顶行是圆形的,但只有顶行和底行是这样的圆形,所以滚动时你会看到正常的中间行。 / p>
答案 1 :(得分:1)
这就是分组表的工作原理。它是每个圆角的圆角,而不是表视图本身的角。看看“设置”应用,您会看到每个组的角都是圆角的;你会在应用中看到的设置中看到基本相同的东西,除了设置中的表视图的边界对应于滚动视图的边界。简而言之,您的表视图按设计工作。
如果您希望桌面可见部分的角落始终呈圆角,您可以查看围绕桌面视角的角落。一种方法是设置底层的cornerRadius
属性:
myTableView.layer.cornerRadius = 10.0;
如果您尝试这种方法,您可能还需要指定图层的边框宽度和颜色。
答案 2 :(得分:0)