gpt4 book ai didi

iphone - UITableView 上的圆角

转载 作者:行者123 更新时间:2023-12-03 18:14:49 33 4
gpt4 key购买 nike

如 Stocks 和 Spotlight 中所示,在整个 UITableView 上实现圆角的最佳方法是什么?分组样式并不能解决问题,因为圆角会随着单元格滚动。我正在尝试剪辑 View ,以便无论滚动位置如何,角始终是圆的。

我看到另一个关于对 UIImage 执行此操作的讨论,建议用另一个图像遮盖它。我不确定这是否有效,因为我需要点击才能到达 table 。这对我来说并不理想,因为我希望背景图案通过角落显示出来。

最佳答案

这是一个老问题,但也许您仍然想知道如何做到这一点。

我复制了一个像 Stocks/Spotlight 中那样的 tableView。诀窍是

view.layer.cornerRadius = 10; 

为此,您需要将 QuartzCore 包含到您调用该属性的类中:

#import <QuartzCore/QuartzCore.h>

我听说这只在 OS 3.0 以后才有效。但由于我的应用程序正在使用核心数据,所以这不是问题,因为它已经适用于 OS 3.0 及更高版本。

我创建了一个自定义 UIView,其 subview 的cornerRadius 10 和

view.backgroundColor = [UIColor clearColor];

然后您必须在该 subview 中放置 UITableView 分组样式。您需要将backgroundColor设置为clearColor,将separatorColor设置为clearColor。然后,您必须将桌面 View 放置在圆角 View 内,这是通过设置框架大小和原点来完成的。我的自定义 UIView 的 loadView 类如下所示:

self.view = [[UIView alloc] init];
self.view.backgroundColor = [UIColor clearColor];

CustomUIViewClass *scherm = [[CustomUIViewClass alloc] init];

CGRect frame;
frame.origin.x = 10;
frame.origin.y = 50;
frame.size.width = 300;
frame.size.height = 380;

scherm.frame = frame;
scherm.clipsToBounds = YES;
scherm.layer.cornerRadius = 10;

[self.view addSubview:scherm];

CustomUITableViewClass *table = [[CustomUITableViewClass alloc] initWithStyle:UITableViewStyleGrouped];

frame.origin.y = -10;
frame.origin.x = -10;
frame.size.width = 320;
frame.size.height = 400;

table.tableView.frame = frame;
[scherm addSubview:table.tableView];

我希望你能理解我的英语,也许我会用一个示例项目写一篇关于这项技术的简短博客文章,准备好后会在此处发布链接。

关于iphone - UITableView 上的圆角,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1106861/

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