前提・実現したいこと
swift初心者です。assetsに追加した画像の解像度を変更したいのですが、
コードで解像度を変更しようとすると、リアルタイムでダークモードの画像に切り替わりません。
スクリーンショット
該当のソースコード
swift
1~~省略 2 lazy var addButton:UIButton = { 3 let button = UIButton() 4 let image = UIImage(named: "plus") 5 let asset = image?.imageAsset 6 //解像度変更 7 let resolvedImage = asset?.image(with:traitCollection).resize(targetSize: CGSize(width: 15, height: 15)) 8 button.setImage(resolvedImage, for: .normal) 9 button.translatesAutoresizingMaskIntoConstraints = false 10 button.setTitleColor(.white, for: .normal) 11 return button 12 }() 13 override func viewDidLoad() { 14 view.addSubview(addButton) 15 addButton.widthAnchor.constraint(equalToConstant: CGFloat(widthheightSize)).isActive = true 16 addButton.heightAnchor.constraint(equalToConstant: CGFloat(widthheightSize)).isActive = true 17 }
試したこと
preserve vector dataをオフにしてみましたが何も変化せず。また解像度を変更するコードをlet image = UIImage(named:"plus")の後にしてみたましたがだめでした。
コードで解像度を変えなければリアルタイムでダークモードのimageに切り替わりますが、変えると一度タスクを切らなければimageが切り替わりません
恥ずかしながらここの作業で1日止まっているので、どなたか教えていただけないでしょうか。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/23 09:58
2021/03/23 10:13
2021/03/23 15:03
2021/03/23 23:21