これを試して:
[self.view.superview.superview removeFromSuperview];
もう1つのアプローチは、はるかにクリーンで、通知を使用することです。メインビューを制御しているオブジェクトに通知を送信して、右側のバーサブビューを削除することができます。次のようになります。
メインビューコントローラの場合:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(removeRightBar:)
name:@"RemoveRightBarNotification"
object:nil];
- (void) receiveTestNotification:(NSNotification *) notification
{
<REMOVE SUBVIEW FROM mainView>
}
そしてあなたのテーブルビューコントローラーで:
[[NSNotificationCenter defaultCenter]
postNotificationName:@"RemoveRightBarNotification"
object:self];
この場合、通知により、メインビューとテーブルビューコントローラ間の接続が非常に緩くなります。