私は、後ろの画像を見るために特定の場所で透明なビューを作成しようとしています。しかし、何らかの理由でビューの透明部分で、私はビューの背後にあるものの代わりに黒く表示されています。私は非常に小さなコードにそれをトリミングして、私の透明なビューが赤の代わりに黒(後ろのビューの色)を示す理由を理解していない。透明なビューは黒ですか?
class ViewController: UIViewController {
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
let redView = UIView(frame: view.frame)
redView.backgroundColor = UIColor.red
let transparentView = TransparentView(frame: view.frame)
view.addSubview(redView)
view.addSubview(transparentView)
}
}
class TransparentView: UIView {
override func draw(_ rect: CGRect) {
UIColor.clear.setFill()
UIRectFill(rect)
}
が、私は画面が赤いいっぱいであることを期待するが、その代わりに、それは完全な黒を示しています。ここに私のコードです。誰かが明瞭なビューを作るのがはるかに簡単だと言う前に、私は実際にdrawRectでもっと複雑なことをしようとしています。私の問題をデバッグしようとする最も基本的なものに落としました。私はここで何が欠けていますか?
'self.opaque = false;'これを 'TransparentView'コンストラクタに追加します。それで、あなたは 'draw'メソッドであなたが望むものを何でもすることができます。 – Brandon