UIViewで内部的な問題が発生している可能性が高く、基本クラスが実際にdrawRectを実装していないか、卑劣な最適化が行われている可能性があります。
ドキュメントには、UIViewを直接オーバーライドしている場合はスーパーを呼び出さないように記載されています。また、背景色を設定するだけの場合、または他の方法でコンテンツにデータを入力する場合は、drawRectを実装する必要はないと記載されています。
このメソッドのデフォルトの実装は何もしません。ネイティブの描画テクノロジー(Core GraphicsやUIKitなど)を使用してビューのコンテンツを描画するサブクラスは、このメソッドをオーバーライドし、そこに描画コードを実装する必要があります。ビューが他の方法でコンテンツを設定する場合は、このメソッドをオーバーライドする必要はありません。たとえば、ビューに背景色が表示されるだけの場合、またはビューが基になるレイヤーオブジェクトを使用してコンテンツを直接設定する場合は、このメソッドをオーバーライドする必要はありません。同様に、ビューがOpenGL ESを使用して描画を行う場合は、このメソッドをオーバーライドしないでください。
と:
UIViewを直接サブクラス化する場合、このメソッドの実装はスーパーを呼び出す必要はありません。ただし、別のビュークラスをサブクラス化する場合は、実装のある時点でスーパーを呼び出す必要があります。
したがって、スーパーを呼び出すことによって、何かを失っている可能性が非常に高くなります。実際の描画コードは表示されないため、どこで問題が発生しているのかを確認するのは困難ですが、UIViewを直接オーバーライドした場合は、開始点としてsuperを呼び出さないでください。