中心页脚UIImage分组UITableView - Swift

时间:2016-03-30 12:29:33

标签: ios swift uitableview

我将我的Image和我的标签集中在tableView的页脚中,如下所示:

override func tableView(tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {

        switch section {
        case 2:
            let view     = UIView()
            let version  = UILabel(frame: CGRectMake(0, 40, tableView.frame.width, 30))
            version.font = version.font.fontWithSize(14)
            version.text = Constants.Version
            version.textColor = UIColor.lightGrayColor()
            version.textAlignment = .Center;

            let logo     = UIImageView(frame: CGRectMake(0, 15, tableView.frame.width, 30))
            logo.contentMode = .ScaleAspectFit
            logo.image   = UIImage(named: "LogoVector")

            let context  = CIContext(options: nil)
            if let currentFilter = CIFilter(name: "CISepiaTone") {
                let beginImage   = CIImage(image: logo.image!)
                currentFilter.setValue(beginImage, forKey: kCIInputImageKey)
                currentFilter.setValue(0.5, forKey: kCIInputIntensityKey)

                if let output = currentFilter.outputImage {
                    let cgimg = context.createCGImage(output, fromRect: output.extent)
                    let processedImage = UIImage(CGImage: cgimg)

                    logo.image = processedImage

                }
            }

            view.addSubview(version)
            view.addSubview(logo)

            return view
        default:
            return nil
        }
    }

但是当我进入视图时,我会在图像加载时冻结一些东西..你有什么想法吗?

问候。

1 个答案:

答案 0 :(得分:1)

您在进行过滤时暂停了。由于您在那里对图像进行了硬编码,我建议您使用图像编辑器直接将棕褐色调添加到图像中并保存。然后,您每次都不在运行时进行该处理。

如果这不是一个选项,你可以在这个方法中创建/定位顶层UIImageView,然后执行dispatch_async()来创建图像并应用过滤器,然后当它出现时完成更新图像视图