热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

IOS11UIContextualAction放置图像颜色文本

如何解决《IOS11UIContextualAction放置图像颜色文本》经验,为你挑选了2个好方法。

为了防止图片如何恢复真实的颜色我现在放置的图像是白色的

- (UISwipeActionsConfiguration *)tableView:(UITableView *)tableView trailingSwipeActionsConfigurationForRowAtIndexPath:(NSIndexPath *)indexPath API_AVAILABLE(ios(11.0))
{

 UIContextualAction *deleteRowAction = [UIContextualAction contextualActionWithStyle:UIContextualActionStyleNormal title:nil handler:^(UIContextualAction * _Nonnull action, __kindof UIView * _Nonnull sourceView, void (^ _Nonnull completionHandler)(BOOL))
    {
        NSLog(@"------------------>%@",sourceView);
        completionHandler (YES);
    }];

    deleteRowAction.image = [UIImage imageNamed:@"heart"];

    UISwipeActionsConfiguration *cOnfig= [UISwipeActionsConfiguration configurationWithActions:@[deleteRowAction]];
         return config;


    return nil;

}

UnRewa.. 10

RSSReaderMaker解决方案可与少量更新Swift 5一起使用:

class ImageWithoutRender: UIImage {
    override func withRenderingMode(_ renderingMode: UIImage.RenderingMode) -> UIImage {
        return self
    }
}

并且在trailingSwipeActionsConfigurationForRowAtleadingSwipeActionsConfigurationForRowAt

使用:

if let cgImageX =  UIImage(named: "x_blue_big")?.cgImage {
     action.image = ImageWithoutRender(cgImage: cgImageX, scale: UIScreen.main.nativeScale, orientation: .up)
}


小智.. 6

您可以通过修改一般改变图像的颜色tintColorUIImageUIAppearance,例如像这样:

UIImageView.appearance().tintColor = .yellow

但这会将(默认)着色颜色应用于应用程序中的所有图像视图,因此您可以通过以下方式将其限制为表格视图中的图像视图:

UIImageView.appearance(whenContainedInInstancesOf: [UITableView.self]).tintColor = .yellow

UITableView如果有子类,也可以指定自己的子类。



1> UnRewa..:

RSSReaderMaker解决方案可与少量更新Swift 5一起使用:

class ImageWithoutRender: UIImage {
    override func withRenderingMode(_ renderingMode: UIImage.RenderingMode) -> UIImage {
        return self
    }
}

并且在trailingSwipeActionsConfigurationForRowAtleadingSwipeActionsConfigurationForRowAt

使用:

if let cgImageX =  UIImage(named: "x_blue_big")?.cgImage {
     action.image = ImageWithoutRender(cgImage: cgImageX, scale: UIScreen.main.nativeScale, orientation: .up)
}



2> 小智..:

您可以通过修改一般改变图像的颜色tintColorUIImageUIAppearance,例如像这样:

UIImageView.appearance().tintColor = .yellow

但这会将(默认)着色颜色应用于应用程序中的所有图像视图,因此您可以通过以下方式将其限制为表格视图中的图像视图:

UIImageView.appearance(whenContainedInInstancesOf: [UITableView.self]).tintColor = .yellow

UITableView如果有子类,也可以指定自己的子类。


推荐阅读
author-avatar
kaiping2011
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有