【发布时间】:2010-12-28 15:54:55
【问题描述】:
我正在使用 UIButton 来显示和切换表格单元格项目从已读到未读。 我使用蓝色图像作为背景来显示项目何时未读,这很有效,但我认为使用 setHighlighted 功能会更好,因为它可以节省向应用程序添加额外图像的时间。我使用的代码如下:
- (void)updateReadButton{
if(article.read.boolValue){
//[readButton setBackgroundImage:nil forState:UIControlStateNormal];
[readButton setHighlighted:FALSE];
[readButton setNeedsLayout];
} else {
[readButton setHighlighted:TRUE];
[readButton setNeedsLayout];
}
}
这适用于单元格的初始创建。但是,当单击该项目并显示详细视图时,我将“读取”值切换为“真”并将单元格中 UIButton 的 setHighlighted 选项更改为 false,但从详细信息返回时它不会更改看法。只有当单元格从屏幕上滚动并重新创建时,才会反映更改。导航到详细视图后,如何强制重绘按钮?
【问题讨论】:
-
你试过
setNeedsDisplay而不是setNeedsLayout吗? -
是的,两者似乎都不起作用。我假设我在 UIButton 本身上调用它?
标签: iphone cocoa uibutton highlight