发送子视图到后面

问题描述:

我试图模仿facebook ios的侧边菜单并让它工作,但是我遇到的问题是我不能发送sidemenu到后面讨论的SO iphone facebook side menu using objective c上的另一个问题。我没有使用建议的库,而是使用了建议的代码。我有发送子视图到后面

- (void)viewDidLoad 
{ 
    NSLog(@"View Did Load is running"); 
    activitySpinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray]; 
    activitySpinner.frame = CGRectMake(0.0, 0.0, 40.0, 40.0); 
    activitySpinner.center = self.view.center; 
    [self.view addSubview:activitySpinner]; 

    SideMenuView *myDelegate = [[SideMenuView alloc] init]; 
    [self setSideMenuDelegate:myDelegate]; 
    //set the delegate's currentViewController property so that we can add a subview to this View. 
    [sideMenuDelegate setCurrentViewController:self]; 

    //sideMenu = [[SideMenuView alloc] initWithNibName:@"SideMenuView" bundle:nil]; 
    [self.view addSubview:myDelegate.view]; 
    [self.view sendSubviewToBack:myDelegate.view]; 

    [super viewDidLoad]; 
    self.searchDisplayController.searchBar.scopeButtonTitles = nil; 

    [self fetchCustomers]; 
    // Do any additional setup after loading the view, typically from a nib. 
} 

在我的控制,我想边栏菜单,但观点似乎得到加载到当前视图,而不是只是去到后面,因此它可以当我滑过菜单中可以看出。

有人可以帮我取回myDelegate视图吗?

我不完全确定你要完成什么,所以我必须猜测。这听起来像你想隐藏self.view后面myDelegate.view。它不会以这种方式工作。

sendSubviewToBack:将子视图发送到发件人的视图层次结构的后面,在您的案例中,self.view。它绝不会在其超级视图下面发送子视图。

你可以换成myDelegate.view作为一个子视图到self.view小号上海华,并把它背后self.view

[[self.view superview] insertSubview:myDelegate.view belowSubview:self.view]; 
+0

您的代码将其从列表中移除,但当我滑动菜单时仍然不会在后台显示它。我正在编辑我的OP,以包含我在幻灯片菜单中遵循的建议。 – Bot 2012-01-18 18:26:50

+0

我看到你想要完成的事情,但是你没有给出足够的细节 - 我看不到你的整个视图层次结构,而且我也猜不出哪个视图执行了什么操作,以及它们具有什么框架。说实话,我甚至不知道你是什么意思的“在后台展示”了。 – fzwo 2012-01-18 22:02:03

+0

您是否阅读过OP中的链接?那家伙解释了该怎么做,但我似乎无法让它工作。 – Bot 2012-01-18 22:04:34

我已经决定只是https://github.com/Inferis/ViewDeck去,让那个管理的意见。