我将我的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
}
}
但是当我进入视图时,我会在图像加载时冻结一些东西..你有什么想法吗?
问候。
答案 0 :(得分:1)
您在进行过滤时暂停了。由于您在那里对图像进行了硬编码,我建议您使用图像编辑器直接将棕褐色调添加到图像中并保存。然后,您每次都不在运行时进行该处理。
如果这不是一个选项,你可以在这个方法中创建/定位顶层UIImageView,然后执行dispatch_async()来创建图像并应用过滤器,然后当它出现时完成更新图像视图