質問: 解決したのですが、その挙動に疑問が残るので共有しておきます。 **1)self.viewに対し、階層の0番目にレイヤーを追加** self.view.layer.insertSublayer(layer, at: 0) ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/1f273bffd362404701cc6cfebcf7a9fe.png) 結果 ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/f791bc9a1bf2e3d74a7b66477d3100f9.png) tableViewより後ろにレイヤーが存在するため、 tableViewに設定した色のみが前面に表示 **2)self.viewに対し、階層の1番目にレイヤーを追加** 上記とまったく同じ結果 **3)self.viewに対し、階層の2番目にレイヤーを追加** ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/672a00fc3b52148f18c26219979ed4c6.png) レイヤーの階層における位置は同じ場所にあるように見えるが 結果 ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/9413e82eb1d2274bbf2e008c2b2da6bb.png) tableViewよりも手前にレイヤーがあるようす。 **4)tableViewに対し、階層の0番目にレイヤーを追加** ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/4be61f725feca810e34fc115cf008770.png) 先ほどまで存在した黄緑色のviewがなくなりtableView自体の色が変わっている。 結果 ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/d2f7d6ad9c8d5358a9da7507d1463bb1.png) ラベルに影響なく、tableViewにのみグラデーションをかけた状態に。 今回わかったこと ・そもそもXcodeのview hierarchyで見られるviewにレイヤーはうつっていない。 ・viewを選択するとCALayerクラスのviewが存在するが、 この時レイヤーはこのUIViewに対して配置されている。 ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/677964785ee5ecb159eee0b31a164aaf.png)
回答: 追記します。insertSublayerでView階層も調節できます。この場合は、一番下に配置されます。 self.view.layer.insertSublayer(gradientLayer, atIndex: 0)