添加自定义控件后滚动视图无法正常工作

时间:2012-12-12 23:45:48

标签: ios uiscrollview custom-view disabled-control

我正在开发一个应用程序,我单击一个按钮,并在屏幕底部添加一组控件(自定义视图)。我可以根据需要多次点击按钮。所以我最终在底部添加了控件。我想向上滚动并计算我添加了多少。假设我打算添加自定义视图5次。我添加了4.Scroll up count我添加了多少。我添加了4,所以向下滚动,再添加1个并向上滚动并保存/进行一些计算。但添加自定义控件后,我无法向上滚动。屏幕显示最近添加的自定义视图并保留在那里。我无法向上滚动以查看我添加了多少次。我做错了什么。?任何想法?所以我第一次点击添加自定义视图时,此代码执行

ITMCustomView *customView = [[ITMCustomView alloc] initWithFrame:
    CGRectMake(187, 560, 400, 400)];
customView.delegate = self;
[self.scrollView addSubview:customView];

自定义视图本身有一个“添加更多”按钮。如果我单击该按钮,则应执行上述操作,再次添加自定义控件。所以我在“添加更多”

上执行此操作
[self.delegate addNewSize:CGRectMake(187,self.y+ 400 , 400, 400)];

我正在做的是传递必须创建新自定义视图的新位置。所以该委托启动了这个方法

- (void)addNewSize:(CGRect)frame
{
    ITMCustomView *cView = [[ITMCustomView alloc] initWithFrame:frame];
    cView.delegate =self;
    CGPoint scrollPoint = CGPointMake(0.0, (frame.origin.y/500)*400);
    [self.scrollView setContentOffset:scrollPoint animated:YES];

    [self.scrollView addSubview:cView];
}

这实际上是我的问题Add a bunch of controls dynamically to screen in iOS的延续 但我接受了答案(这个问题是真正的答案),因为它的扩展想要开始一个新的问题。如果您需要更多信息,请询问。谢谢......

1 个答案:

答案 0 :(得分:1)

添加setContentSize后,您需要使用ITMCustomView。像

[self.scrollView setContentSize:CGSizeMake(320, 800)];

每次添加scrollView时,都必须同步设置contentSize custom view