在 "insetGrouped "风格下,单元格预览的圆角(iOS 13)

问题描述 投票:1回答:1

我发现一个恼人的问题,当UITableView在 insetGrouped 风格。当实现 contextMenuConfigurationForRowAtIndexPath 方法,它允许通过上下文操作来进行单元格预览。除了iOS会将预览窗口的边角磨圆的功能外,一切都很好。

Corners are not rounded

但是,如果表格在每一个其他的风格(例如,普通),角落成为圆角。而且在普通模式下的动画更 "平滑",预览也会缩小一点。

Corners are rounded

我还发现,iOS对第一个单元格的上角是四舍五入,对最后一个单元格的下角是四舍五入。insetGrouped 风格。

有谁遇到过类似行为的 UITableView?

ios uitableview animation contextmenu ios13
1个回答
1
投票

通过实现'previewForHighlightingContextMenuWithConfiguration'方法,可以对单元格进行圆角处理。

- (UITargetedPreview *)tableView:(UITableView *)tableView previewForHighlightingContextMenuWithConfiguration:(UIContextMenuConfiguration *)configuration {
NSIndexPath *index = (NSIndexPath *)configuration.identifier;
SharedTableViewCell *cell = [self.tableView cellForRowAtIndexPath:index];

UIPreviewParameters *parameters = [[UIPreviewParameters alloc] init];
parameters.backgroundColor = UIColor.clearColor;
parameters.visiblePath = [UIBezierPath bezierPathWithRoundedRect:cell.bounds cornerRadius:10.0];
UITargetedPreview *targetedPreview = [[UITargetedPreview alloc] initWithView:cell parameters:parameters];

return targetedPreview;

}

© www.soinside.com 2019 - 2024. All rights reserved.