Iphone UITableViewCell高光&;影响
因此,我有一个Iphone UITableViewCell高光&;影响,iphone,objective-c,uitableview,highlighting,Iphone,Objective C,Uitableview,Highlighting,因此,我有一个tableview,其中8个单元格包含8个uitextfields作为每个单元格的子视图。它基本上就像一个用户需要填写的表单,我希望在用户开始键入时有一些效果 调用textfielddibeginediting方法时,我希望相应的UITableViewCell高亮显示,而所有其他UITableViewCell都有点“暗显”。这种效果使用户将注意力集中在他正在键入的特定文本字段上,我正试图在代码中实现这一点 这可能吗?如果有人能帮我达到这个效果,我将不胜感激 给你: - (void)
tableview
,其中8个单元格包含8个uitextfields
作为每个单元格的子视图。它基本上就像一个用户需要填写的表单,我希望在用户开始键入时有一些效果
调用textfielddibeginediting
方法时,我希望相应的UITableViewCell
高亮显示,而所有其他UITableViewCell都有点“暗显”。这种效果使用户将注意力集中在他正在键入的特定文本字段上,我正试图在代码中实现这一点
这可能吗?如果有人能帮我达到这个效果,我将不胜感激 给你:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSArray*cells = [_regTable visibleCells];
UITableViewCell*currentcell = [_regTable cellForRowAtIndexPath:indexPath];
for (UITableViewCell*cell in cells)
{
if ([cell isEqual:currentCell] == NO) //You'll have to think on how to distinguish a selected cell from an unselected one - if you go the default way then that's how its done
{
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5];
cell.alpha = 0.5;
[UIView commitAnimations];
}
else
{
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5];
cell.alpha = 1.0;
[UIView commitAnimations];
}
}
}
嗯,非常感谢你的意见。我能理解alpha的上下文,似乎是一个很好的起点。从您的代码来看,这会影响整个uitableviewcell吗?
uitableviewcell
是一个UIView
。因此,您可以直接进入cell.alpha设置所需的值,但我不鼓励这样做,因为这样会对单元格产生一些疯狂的影响,因为它看起来有点奇怪P9刚刚添加了一个漂亮的UIView
淡入淡出动画,这样就不那么急促了。试试看!是的,谢谢你的意见,大卫。肯定是个好答案。但我在这里寻找更多的东西。如果你能帮我,请告诉我。我希望整个uitableviewcell看起来超级明亮,而所有其他TableViewCell看起来非常暗淡。我已经编辑了使整个单元格暗淡的代码。使用介于0和1之间的值微调alpha
值,并查看其运行情况!