小知识九、常见问题

【常见问题一】获取Assets.car中新特性图片的问题

在代码中常用获取获取的两种方法如下:


1.cell.imageView?.image = UIImage.init(contentsOfFile: imageUrl)
2.cell.imageView?.image = UIImage.init(named: "")

复制代码

相信很多人都知道会出现什么问题了吧,我们知道一般新特性的图片一般都是比较的高清的,如果使用第二种方式加载就会出现图片缓存到内存中去。当我们遇到这种情况是往往会选择第一种加载图片的方式。那么如果我们使用第一种方式,应该怎么实现呢。

1.将较大的图片资源打包成bundle包

2.获取图片的路径


    fileprivate func getImageName(index: Int) -> String? {
        var imageNamePath: String?
        if let guide_imagesPath: String = Bundle.main.path(forResource: "guide_pageImages.bundle", ofType: "") {
            if let bundle: Bundle = Bundle.init(path: guide_imagesPath) {
                var fileName: String = images[index]
                fileName.append("@2x")
                if let imageURL: String = bundle.path(forResource: fileName, ofType: "png") {
                    imageNamePath = imageURL
                }
            }
        }
        return imageNamePath
    }
    
复制代码

【常见问题二】cell 选择后present or push viewController有延迟

场景: 当设置cell.selectionStyle = UITableViewCellSelectionStyle.none,cell 选择后present or push viewController有延迟

解决方式:通过添加手势监听的方式解决

【常见问题三】NavigationBar的返回按钮不需要文字

解决办法一:


// 隐藏返回按钮的文字
let appearance = UIBarButtonItem.appearance()
appearance.setBackButtonTitlePositionAdjustment(UIOffset.init(horizontal: 0.0, vertical: -60), for: .default)

复制代码

解决办法二: 自定义返回按钮。据我所知,很多人喜欢使用这种方式,在基类UINavigationController红重写push方法中自定义返回按钮,用来覆盖掉原来的leftBackItem.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值