小知识九、常见问题

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

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


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

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

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


14985020808499.jpg

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.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,257评论 4 61
  • 她在他的毕业留言上写着,如果毕业后你去了北方你要记得你还有一个南方姑娘在儿时你等待的树下等着你。 他没有在她的毕业...
    悆尽欢阅读 145评论 0 0
  • (四) 第二天,天刚蒙蒙亮我就从床上爬起来,梳洗过后,我就来到了皇帝办公的御书房请求面圣。 皇帝正在专心致志地写着...
    非凡的Nancy阅读 268评论 0 0
  • 天空蓝的那么透彻 微风轻轻拂过你的衣裳 现在的时光暖的那么轻那么清 像极了乍暖的我还寒的你 思念像空气里的尘埃 透...
    小巴贱儿阅读 132评论 1 0
  • 没有结局的感情,总要结束;不能拥有的人,总会忘记。人生没有永远的伤痛,再深的痛,伤口总会痊愈。人生没有彩排,好...
    柠檬海在阅读 552评论 5 1