如何在UITable中移动行进行自定义按钮和单元格着色?

时间:2013-01-24 13:44:46

标签: iphone ios objective-c uitableview

如何在UITable中制作用于移动行的自定义按钮?

我希望它是透明的。 (而不是:enter image description here

另一件事是,当细胞移动时,它有阴影。是否可以将其删除?

2 个答案:

答案 0 :(得分:2)

试试这个......

您必须通过继承UITableViewCell并覆盖其setEditing:animated:方法来执行此操作,如下所示:

重新排序控件是一个UITableViewCellReorderControl,但这是一个私有类,所以你不能直接访问它。

您可以浏览子视图的层次结构并找到它的imageView。

- (void) setEditing:(BOOL)editing animated:(BOOL)animated
{
    [super setEditing: editing animated: YES];

    if (editing) {

        for (UIView * view in self.subviews) {
            if ([NSStringFromClass([view class]) rangeOfString: @"Reorder"].location != NSNotFound) {
                for (UIView * subview in view.subviews) {
                    if ([subview isKindOfClass: [UIImageView class]]) {
                        ((UIImageView *)subview).image = [UIImage imageNamed: @"yourimage.png"];
                    }
                }
            }
        }
    }   
}

答案 1 :(得分:1)

您可以通过将-[UITableViewCell setShowsReorderControl:]设置为NO来关闭重新排序控件。之后,您将需要自己的自定义重新排序实现。我不确定你在移动过程中可以做些什么影子效果。

如果您真的想深入挖掘,可以创建自定义表格视图单元格移动UX。