The compile fix replaced the direct topEdgeEffect API with KVC casting the effect to UIView — but UIScrollEdgeEffect is not a UIView, so the cast silently returned nil and the system's dark edge band stayed visible behind the status bar. Keep the KVC (compiles with pre-26 SDKs) but toggle the ObjC 'hidden' key on the effect as a plain NSObject, guarded by respondsTo.