ビューのスーパービューをチェックし、BOOLを返す簡単なメソッドがあります。ただし、この方法では断続的に正しい答え(または少なくとも私が期待している答え)を生成できません。
方法は次のとおりです。
-(BOOL) isTheViewShowing
{
return (BOOL) [theView superview];
}
ビューを削除するタップジェスチャがあり、次のログを記録しました(望ましくない場合)。
isTheViewShowing: NO
theView: <UIView: 0x3c1a10; frame = (0 232; 320 135); clipsToBounds = YES; layer = <CALayer: 0x365480>>,
superView: <UIView: 0x392400; frame = (0 0; 320 367); autoresize = W+H; layer = <CALayer: 0x35fe90>>
ログが示すように、superViewは存在しますが、キャストが失敗するのはなぜですか?