如何在SwitchViewController应用中实现UIScrollView



我有一个相当问题与UIScrollView -我有一个SwitchViewController(这是根控制器)的方法

-(BaseView*)loadView:(EActiveWindow)nextView`

现在,我在互联网上找到了一些非常有用的信息,但是有些东西不见了,或者我没有正确加载视图。在loadView方法中,我创建了几个视图控制器,如果你从菜单中选择一个选项,我最后用这样的东西切换视图:

activeView.controller = self;
[self.view insertSubview:activeView.view atIndex:0];
currentController = activeView;
return activeView;

在根视图控制器中选择初始化的每个视图控制器都是BaseView对象,其中BaseView : UIViewController .

我从http://www.youtube.com/watch?v=UMv154TWTr8检查了一个解决方案,它工作了,但我想这个问题是在我的根控制器,我杀死和创建视图,这导致非滚动屏幕-任何想法,有人吗?

编辑:

如果它在某种程度上相关-滚动视图的内容将根据用户的选择而改变(text &图像)。

不是关于在根控制器中切换视图

阅读本教程后,我设法实现正确的UIScrollView:)这有助于我在加载新数据之前清除UIScrollView内容:)

to bostack -correct;我包括明确我的解决方案:
1)我添加IBOutlet UIScrollView *scrollView到我的UIView类
2)我添加到我的类实现这个,初始化我的scrollView与适当的大小

- (void)viewDidLoad {
    scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(20, 45, 280, 370)];
    [self.scrollView setContentSize:CGSizeMake(280, 30)];
    [self.view addSubview:self.scrollView];
    [self.scrollView release];
        ...

3)然后我添加到viewWillAppear方法块的代码创建几个UITextView和把它们放入scrollView,最后调整scrollView的大小,瞧:)

int newHeight = 0;
for (int i = 0; i < [myObjectArray count]; i++) {
    Object *tmpObject = [myObjectArray objectAtIndex:i];
    if (tmpObject) {
        //here goes initialization of an UITextView or whatever you need inside UIScrollView
        [self.scrollView addSubview:myTextView];
        [self resizeTextViewHeight:myTextView];
        newHeight += myTextView.bounds.size.height + 10;
        [myTextView release];
    }
}
self.scrollView.contentSize = CGSizeMake(280, newHeight);
[scrollView setScrollEnabled:YES];
scrollView.showsVerticalScrollIndicator = YES;
[self.view addSubview:scrollView];

最新更新