我正在尝试将图库中的图像添加到新的ViewController,但是会出错
创建具有未知类型的图像格式是一个错误致命错误:在展开Optional值时意外地发现nil
码:
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
if let im = info[UIImagePickerControllerOriginalImage] as? UIImage {
let vc = self.storyboard?.instantiateViewController(withIdentifier: "editImage") as! EditImageViewController
vc.imageView.image = im
self.present(vc, animated: true, completion: nil)
} else {
print("Something went wrong")
}
imagePicker.dismiss(animated: true, completion: nil)
}
Run Code Online (Sandbox Code Playgroud)
我的错是什么?
如何组合图像过滤器?比如我要使用CIColorControls、CINoiseReduction等,是否需要创建几个filter并初始化?或者还有其他方法吗?
var colorControls: CIFilter
var noiseReduction: CIFilter
...
func init() {
colorControls = CIFilter.init(name: "CIColorControls")!
noiseReduction = CIFilter.init(name: "CINoiseReduction")!
...
}
Run Code Online (Sandbox Code Playgroud) 如何为图片添加多种效果?我有以下代码为照片添加效果:
func applyEffects(name: String, n: Float) {
filter.setValue(self.cImage, forKeyPath: kCIInputImageKey)
filter.setValue(n, forKeyPath: name)
let result = filter.value(forKey: kCIOutputImageKey) as! CIImage
let cgImage = CIContext.init(options: nil).createCGImage(result, from: result.extent)
self.customImage = UIImage.init(cgImage: cgImage!)
}
func brightness(n: Float) {
self.applyEffects(name: kCIInputBrightnessKey, n: n)
}
func contrast(n: Float) {
self.applyEffects(name: kCIInputContrastKey, n: n)
}
func saturation(n: Float) {
self.applyEffects(name: kCIInputSaturationKey, n: n)
}
Run Code Online (Sandbox Code Playgroud)
但是当我想要应用第二个效果时,第一个效果消失了.如何将两个或多个效果叠加在一起?
如何在移动UISlider时获取值?
我正在使用以下代码:
ViewModel:
import Foundation
import RxSwift
final class ViewModel {
private let disposeBag = DisposeBag()
var value: Variable<Float>
init() {
self.value = Variable(Float(0.0))
}
}
Run Code Online (Sandbox Code Playgroud)
ViewController:
@IBOutlet var slider: UISlider!
private var viewModel: ViewModel!
private let disposeBag = DisposeBag()
override func viewDidLoad() {
viewModel = ViewModel()
slider.rx.value
.subscribe(onNext: { (value) in
self.viewModel.value = Variable(Float(value))
})
.addDisposableTo(disposeBag)
}
Run Code Online (Sandbox Code Playgroud)
但是此代码不起作用。我怎么了
我正在尝试将我的应用程序运行到 iPhone 模拟器。现在我正在使用 CocoaPods。
我的项目结构:
豆荚文件:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '10.0'
use_frameworks!
workspace 'StepikIOS'
xcodeproj 'Common/StepikCore/StepikCore.xcodeproj'
xcodeproj 'Features/ExternalWorkers/ExternalWorkers.xcodeproj'
def net_pods
pod 'Alamofire', '~> 4.7.2'
end
target :ExternalWorkers do
xcodeproj 'Features/ExternalWorkers/ExternalWorkers.xcodeproj'
net_pods
end
target :ExternalWorkersTests do
xcodeproj 'Features/ExternalWorkers/ExternalWorkers.xcodeproj'
net_pods
end
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '4.0'
end
end
end
Run Code Online (Sandbox Code Playgroud)
当我运行应用程序时,我收到一个错误:
dyld:库未加载:@rpath/Alamofire.framework/Alamofire
引用自:/Users/nikita/Library/Developer/Xcode/DerivedData/StepikIOS-ghofwgasymvhnxbjmtdesdkbcdal/Build/Products/Debug-iphonesimulator/ExternalWorkers.framework/ExternalWorkers 原因:图像未找到
如何修复此错误?