Scr*_*lie 33 iphone uitableview
如Stocks和Spotlight中所见,在整个UITableView上获得圆角的最佳方法是什么?分组的样式不能解决问题,因为圆角会随着单元格滚动.我正在尝试剪切视图,因此无论滚动位置如何,角落总是圆的.
我看到另一个讨论关于这样做的UIImage建议用另一个图像掩盖它.我不确定这是否有效,因为我需要点击才能传递到桌面.这对我来说并不理想,因为我希望通过角落显示背景图案.
Han*_*ers 65
这是一个老问题,但也许你仍然想知道如何做到这一点.
我在Stocks/Spotlight中复制了一个tableView.诀窍是
view.layer.cornerRadius = 10;
Run Code Online (Sandbox Code Playgroud)
为此,您需要将QuartzCore包含在您调用该属性的类中:
#import <QuartzCore/QuartzCore.h>
Run Code Online (Sandbox Code Playgroud)
我听说这只适用于OS 3.0.但是由于我的应用程序使用的是核心数据,因此它已经适用于OS 3.0和Hight.
我使用带有cornerRadius 10的子视图创建了一个自定义UIView
view.backgroundColor = [UIColor clearColor];
Run Code Online (Sandbox Code Playgroud)
然后,您必须在该子视图中放置UITableView分组样式.您需要将backgroundColor设置为clearColor,将separatorColor设置为clearColor.然后,您必须将tableview放置在圆角视图内,这可以通过设置框架大小和原点来完成.我的自定义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];
Run Code Online (Sandbox Code Playgroud)
我希望你能理解我的英语,也许我会用一个示例项目写一篇关于这个技术的简短博文,当我准备好时,会在这里发布链接.
raj*_*ato 56
更简单的方法是将QuartzCore框架简单地导入到项目中.#import <QuartzCore/QuartzCore.h>到你的tableViewController,只是设置
myTableView.layer.cornerRadius=5;
Run Code Online (Sandbox Code Playgroud)
这将为您提供圆角,而无需将您的tableview添加到superView或剪切它.
noo*_*lar 13
而不是破解代码,这里很容易模仿分组的样式.如果你想要的只是一个部分,这是有效的.
在Interface Builder中:
然后自己设置角半径和颜色:
#import <QuartzCore/QuartzCore.h>
self.tableView.layer.borderColor = [UIColor colorWithWhite:0.6 alpha:1].CGColor;
self.tableView.layer.borderWidth = 1;
self.tableView.layer.cornerRadius = 4;
Run Code Online (Sandbox Code Playgroud)
您尝试过“分组”表格视图样式吗?
self.tableView.style = UITableViewStyleGrouped;
Run Code Online (Sandbox Code Playgroud)
如需进一步参考,请参阅表视图编程指南。“关于表视图”一章有一些很好的屏幕截图,描述了不同的样式。
| 归档时间: |
|
| 查看次数: |
60207 次 |
| 最近记录: |