UITableView 组样式上的黑角
我有一个问题,我的 UITableView (组样式)的圆角上方有一个黑色“尖端”。
我像这样设置表格视图的背景:
[meetingTableView setBackgroundColor:[[UIColor alloc] initWithPatternImage:[[UIImage alloc] initWithContentsOfFile:@"background.png"]]];
我的表格视图最终看起来像这样:
黑色尖边在圆角http://papernapkin.org/pastebin/resource/images/imageEntryId/6487
有什么想法可以摆脱这些黑点吗?
I have a problem where my UITableView (group style) has a black "tip" above it's rounded corner.
I'm setting up the background of the tableview like so:
[meetingTableView setBackgroundColor:[[UIColor alloc] initWithPatternImage:[[UIImage alloc] initWithContentsOfFile:@"background.png"]]];
And my table view ends up looking like this:
Any ideas how I can get rid of those black points?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
我也有同样的问题。
当我通过xib设置清晰颜色时,我有后角
解决办法就是通过代码来设置!
(webviews 也存在与界面生成器相同的问题)
I have got the same problem.
When I set clear color by xib, I have the back corner
The solution is to set it by code !
(The same problem with interface builder exist for webviews)
在控制器的 viewDidLoad 方法中尝试一下:
Try this in your controller's
viewDidLoad
method:如果您在 XIB 中将背景颜色设置为透明颜色,您将在 UITableView 组样式上看到黑色角。
相反,请尝试此代码来删除 UITableView 组样式上的黑角
tableViewObject.backgroundColor=[UIColor clearColor];
You'll get Black corners on UITableView Group Style if you set background color to clear color in XIB.
Instead try this code for removing Black corners on UITableView Group Style
tableViewObject.backgroundColor=[UIColor clearColor];
以防万一您还不知道,还有另一种巧妙的技巧 您可以用来为 UITableViews 制作自定义背景:
不像您所做的那样设置背景那么简单,但它为您提供了更大的灵活性,并且可以缩放到任何表格大小。
Just in case you weren't already aware, there's another neat technique you can use to make customized backgrounds for UITableViews:
Not quite as simple as setting the background as you're doing, but it gives you a lot more flexibility and can scale to any table size.
也许如果你把
yourTableViewOutlet.backgroundView=nil;
Maybe if you put
yourTableViewOutlet.backgroundView=nil;
为了避免黑角,您必须确保 UITableViewCells 不是不透明的。看起来您正在使用自定义样式表格单元格,并且不透明的默认值为 YES。如果表格单元格是在 XIB 文件中设置的,请转到 Interface Builder 并取消选中不透明复选框。或者使用 setOpaque:NO 设置器来更改值。
因为即使有圆角,表格单元格视图仍然具有矩形框架,是单元格视图而不是实际的表格视图导致了这些黑角。
To avoid the black corners you have to make sure that the UITableViewCells are not opaque. It looks like you're using custom styles table cells and the default value for opaque is YES. Either go to Interface Builder and uncheck the opaque checkbox if the table cell was set up in a XIB file. Or use the
setOpaque:NO
setter to change value.Because the table cell view still has a rectangular frame even with the rounded corners the cell view and not the actual table view is causing those black corners.
我的猜测是,它与您在自定义表格视图单元格中执行的操作有关。您可能想尝试将单元格背景颜色设置为
[UIColor clearColor]
。My guess is that it's related to something that you're doing in your custom table view cells. You might want to experiment with setting the cell background color to
[UIColor clearColor]
.我认为您应该将表格的背景颜色设置为clearColor,并使用背景图像来初始化您的视图。
那么就绝对不会出现黑角了。但也不要忘记将单元格的背景颜色设置为白色
I think you should set the background color of your table as clearColor and initialsie your view with the background image.
Then it will definitely not show the black corners. But also don't forget to set the background color of your cell as white color
如果您像我一样并且从不使用 UITableViewController,而是将 UITableView 放入 UIViewController 中,那么上面投票的答案(将 tableView 的背景设置为 [UIColor clearColor])可能对您不起作用。
在这种情况下,需要有清晰背景的不是tableView,而是保存tableview的视图。
这并不直观,但对我有用。在界面生成器中,您可以将父视图的背景颜色设置为透明颜色,或者您可以在 viewDidLoad 中的代码中执行相同的操作:
我猜黑角的原因与内部图形优化和设置背景有关清除修复它。
The up-voted answer above (set the tableView's background to [UIColor clearColor]) may not work for you if you are like me and never use the UITableViewController, instead putting a UITableView inside a UIViewController.
In this case it's not the tableView that needs to have a clear background, but the view that holds the tableview.
This is not intuitive, but it works for me. In interface builder you can just set the parent view's background color to clear color, or you could do the same in code in viewDidLoad with:
I'm guessing the reason for the black corners is something about the internal graphics optimization, and setting the background clear fixes it.