繁体   English   中英

如何从“联系人”应用程序复制红色的删除按钮? (即在分组的电视版式中,使其在选中时变暗)

[英]How do I replicate the red delete button from the Contacts application? (i.e. in a grouped TV Layout and such that it darkens when selected)

正如您从问题中看到的那样,我想(从审美角度上)确切地执行通讯录应用中的红色删除按钮的作用。

现在的问题是,当我按下它时,它不会提供反馈(即变暗)。 它只是执行弹出UIAlertView来确认删除的职责(注意:对于这种情况,我觉得这比ActionSheet更合适,因为我还需要向用户传达有关删除的影响...) 。

我要做的是创建一个自定义单元类,以表征此按钮并在IB中手动为其提供此设计。

现在假设我可以制作一个较暗版本的按钮背景的png文件,那么我怎么做才能使按下按钮时背景显示出来。

如有任何不明确之处,我表示歉意。 如果您听不懂我在说什么,请转到“联系人”应用程序,然后尝试按下“删除联系人”按钮。 那就是我要寻找的美学功能。

谢谢,

-H T

编辑:得到了几乎可行的东西。 从CustomTVCell.m:

- (void)setSelected:(BOOL)selected animated:(BOOL)animated {

[super setSelected:selected animated:animated];

// Configure the view for the selected state.
if (selected == YES)
    self.backgroundView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"button_red_selected.png"]] autorelease];
else
    self.backgroundView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"button_red.png"]] autorelease];
}

唯一剩下的问题是,即使我停止按单元格,它仍保持选定状态。

您可以使用(BOOL bDark)标记背景图像的状态,即使用暗色图像还是浅色图像。用NO初始化bDark。 在表视图的cellForRowAtIndexPath:(NSIndexPath *)indexPath方法中,如果bDark为YES,则将单元格的背景图像设为暗色,否则将其设为浅色。 在didSelectRowAtIndexPath方法中,应将bDark更改为YES,即,一旦按下该单元格,bDark应设置为YES; 那么您应该让您的tableview reloadData,然后它重建单元格,现在,由于bDark为YES,此单元格将使用深色图像作为背景。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM