如何从滚动视图的子视图中关闭scrollview控制器

时间:2011-12-11 18:54:55

标签: iphone uiscrollview

我使用的是scrollview,我将子视图添加到scrollview后面的代码中。现在,当我点击子视图控制器中的按钮时,我想要关闭我的 scrollviewcontroller (父级)。我的scrollviewcontroller分页已启用。并且所有页面都使用相同的类。(mySubviewController)

我正在使用它但不起作用;

[[self parentViewController] dismissModalViewControllerAnimated:YES];

或者这个;

[self dismissModalViewControllerAnimated:YES];

怎么做?

--- 修改 ----

[main screen]---> [scrollview](srolling sub views)

[subview]((x button)-(y button)-(z button))
[subview]((x button)-(y button)-(z button))
[subview]((x button)-(y button)-(z button))
[subview]((x button)-(y button)-(z button))

当我点击z按钮进入anysubview时,我想关闭scrollview ...

我的scrollview代码;

   - (void)loadScrollViewWithPage:(int)page {
    if (page < 0) return;
    if (page >= kNumberOfPages) return;

    // replace the placeholder if necessary
    MyViewController *controller = [viewControllers objectAtIndex:page];
    if ((NSNull *)controller == [NSNull null]) {
        controller = [[MyViewController alloc] initWithPageNumber:page];
        [viewControllers replaceObjectAtIndex:page withObject:controller];
        [controller release];
    }

    // add the controller's view to the scroll view
    if (nil == controller.view.superview) {
        CGRect frame = scrollView.frame;
        frame.origin.x = frame.size.width * page;
        frame.origin.y = 0;
        controller.view.frame = frame;
        [scrollView addSubview:controller.view];
    }
}

感谢

2 个答案:

答案 0 :(得分:0)

我不确定我是否完全理解你,但也许你应该尝试

[[self parentViewController] popViewControllerAnimated:YES];

答案 1 :(得分:0)

使用此:

[self.subview.superview removeFromSuperview];

从我得到的,你的子视图应该是你的ViewController的视图。