English 中文(简体)
黑角
原标题:Black Corners On Grouped UITableViewCells Only After Navigation Pops

我不是制图专家,但我有些how设法通过给与一些全球导航卫星系统国际委员会编码的背景意见提供背景意见,将可检索的电文分类。 所有SDK最高为3.1.3(可能为3.2.) 我在“iPad”上经过了检测,但我认为,最近的一个SDK已经改变了图形的 ca缩。

首先是: 绘画是罚款,玉米是透明的。 如果我把一对一对一对一对一对一对一的控制器推回航,现在有黑角出现:

BEFORE && AFTER

alt text
(source: tinygrab.com)
    alt text
(source: tinygrab.com)

我有吨代码,。 我尽了最大能力,研究了可适用变革的文献,但至少在8小时之后,我仍无法找到可能产生这种变化的原因。 我已尝试确定每一种观点,但我想到的是backgroundColor=clearColoropaque=NO。 我失踪了什么? Any Any ti

UPDATE:

在<代码>viewDidAppear中,我有几部剪辑,打印了所有次表的背景分类和分类。

- (void)debugView:(UIView *)view {
    DebugLog(@"%@ - %@", view.backgroundColor, [[view class] description]);
    for (UIView* child in view.subviews) {
        [self debugView:child];
    }
}
- (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    [DownloadController.networkQueue setSuspended:NO];
    for (TTTableViewCell *cell in [self.tableView visibleCells]) {
        [cell debugView:cell];
    }
}

根据该守则,我检查了牢房的背景背景,看看看第一负荷,哪怕是罚款,然后又回来。 有一些差异,但所有颜色仍然很明确。 这使我相信,这个问题在《可上诉的意见书》下。

UPDATE 2:

我创建了一个 模拟应用,以突出这一问题。

最佳回答

我测试了样本应用,可以复制黑角问题。

在进行了一些实验之后,黑角问题似乎与表层的沥滤有关。 电池层的地貌似乎很重要:

  • On the first paint, the cell is asked to be painted into a rect. Your code is painting a rounded path, but clipped out the corners. As the underlying tableview is already drawn, no problem occurs. The rect zone is cached, with its corners unpainted.
  • When the controller is pushed, a cached image is stored, with rectangular placeholders for the cells.
  • When the controller is popped, the cached image and the cells are drawn. But the place to draw cells is rectangular but the cell s cached image is not, leading to black corners.

为了消除黑角,你可以:

  • Make sure that all the cell s rect is painted. This means using the same color to file the cell before drawing the edge as the tableview s background color. If your tableview use the default background color, you can use [UIColor groupTableViewBackgroundColor].CGColor as filling color; it is a pattern based color and follows device orientation (yeah); but the painting is not perfectly aligned with the background (damn).
  • Use a CALayer mask on the cell s layer. This implies creating a mask CGImage, set it as the layer s content and assign the mask layer to the cell s layer. Not sure about the performance.

希望能帮助。

<>Update>

经过一些失败的尝试,我放弃了掩盖思想,因为它过于模糊。

我重新阅读了手机层的代码,找到了一种简单的方式去除黑角。 基本想法是,只有显示梯度的颜色,才能完全透明。 通过使用以下<代码> 方法,黑角消失(在模拟器上和在装置上):

- (void)display {
    if (_override) {
        self.colors =
        [NSArray arrayWithObjects:
         (id)[UIColor colorWithRed:colorComponents[0] green:colorComponents[1] blue:colorComponents[2] alpha:colorComponents[3]].CGColor,
         (id)[UIColor colorWithRed:colorComponents[4] green:colorComponents[5] blue:colorComponents[6] alpha:colorComponents[7]].CGColor,
         nil];
    } else {
        self.colors =
        [NSArray arrayWithObjects:
         (id)[UIColor clearColor].CGColor,
         (id)[UIColor clearColor].CGColor,
         nil];
    }
    [super display];
}

当然,这可以优化:

  • Create the color arrays once.
  • Provide a custom setter for override property that change the layer s colors.
  • Remove the display method as it is no needed anymore.
问题回答

我在模拟器上用OS3.2测试了你的样本代码,这无疑显示了同样的症状。 我尝试了几件事,最后用了这一规定:

self.cornerRadius = 12;

在<代码>init上添加这一条。

在当地推广(也许会帮助),在“ForRowAtIndexPath”的牢房中添加以下内容,产生了令人感兴趣的效果:

cell.backgroundView.alpha = 0.4;
cell.selectedBackgroundView.alpha = 0.4;

并非所有牢房都有黑色背景。 改变甲型六氯环己烷似乎改变了任何特定囚室不当造成的可能性。 甲型 = 1.0 保证有黑色背景,而任何较小的则减少这种影响的可能性。

黑人背景也暗淡,因此,我相信大家知道,但肯定的是,它必须同UAGradientCellBackgroundView打交道。

亲爱!





相关问题
Code sign Error

I have created a new iPhone application.I have two mach machines. I have created the certificate for running application in iPhone in one mac. Can I use the other mac for running the application in ...

ABPersonViewController Usage for displaying contact

Created a View based Project and added a contact to the AddressBook using ABAddressBookRef,ABRecordRef now i wanted to display the added contact ABPersonViewController is the method but how to use in ...

将音频Clips从Peter改为服务器

我不禁要问,那里是否有任何实例表明从Peit向服务器发送音响。 I m不关心电话或SIP风格的解决办法,只是一个简单的袖珍流程......

• 如何将搜查线重新定位?

我正试图把图像放在搜索条左边。 但是,问题始于这里,搜索条线不能重新布署。

热门标签