8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

更改 UITableView 中移动单元格的默认图标

usr 1月前

132 0

我需要更改 UITableView 中移动单元格的默认图标。这个:可以吗?

我需要更改 UITableView 中移动单元格的默认图标。

这个:

enter image description here

是否可以?

帖子版权声明 1、本帖标题:更改 UITableView 中移动单元格的默认图标
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由usr在本站《uitableview》版块原创发布, 转载请注明出处!
最新回复 (0)
  • Ashley Mills 的答案在提出时非常出色,但正如其他人在评论中指出的那样,视图层次结构在 iOS 的不同版本中发生了变化。为了正确找到重新排序控件,我使用了一种遍历整个视图层次结构的方法;希望即使 Apple 更改了视图层次结构,该方法也能继续发挥作用。

    这是我用来查找重新排序控件的代码:

    -(UIView *) findReorderView:(UIView *) view
    {
        UIView *reorderView = nil;
        for (UIView *subview in view.subviews)
        {
            if ([[[subview class] description] rangeOfString:@"Reorder"].location != NSNotFound)
            {
                reorderView = subview;
                break;
            }
            else
            {
                reorderView = [self findReorderView:subview];
                if (reorderView != nil)
                {
                    break;
                }
            }
        }
        return reorderView;
    }
    

    下面是我用来重写 -(void) setEditing:animated: 子类中的方法的代码:

    -(void) setEditing:(BOOL)editing animated:(BOOL)animated
    {
        [super setEditing:editing animated:animated];
        if (editing)
        {
            // I'm assuming the findReorderView method noted above is either
            // in the code for your subclassed UITableViewCell, or defined
            // in a category for UIView somewhere
            UIView *reorderView = [self findReorderView:self];
            if (reorderView)
            {
                // I'm setting the background color of the control
                // to match my cell's background color
                // you might need to do this if you override the
                // default background color for the cell
                reorderView.backgroundColor = self.contentView.backgroundColor;
                for (UIView *sv in reorderView.subviews)
                {
                    // now we find the UIImageView for the reorder control
                    if ([sv isKindOfClass:[UIImageView class]])
                    {
                        // and replace it with the image we want
                        ((UIImageView *)sv).image = [UIImage imageNamed:@"yourImage.png"];
                        // note:  I have had to manually change the image's frame
                        // size to get it to display correctly
                        // also, for me the origin of the frame doesn't seem to
                        // matter, because the reorder control will center it
                        sv.frame = CGRectMake(0, 0, 48.0, 48.0);
                    }
                }
            }
        }
    }
    
返回
作者最近主题: