Ios 两个UIScrollView一个不显示内容

Ios 两个UIScrollView一个不显示内容,ios,uiscrollview,uiscrollviewdelegate,Ios,Uiscrollview,Uiscrollviewdelegate,我有两个UIScrollView: - (void)generateHeadView { self.headArray = [[NSArray alloc]initWithArray:self.headButtonArray]; for (int i = 0; i < [self.headArray count]; i++) { UIButton *button0 = [[UIButton alloc]init]; button0 =

我有两个UIScrollView:

- (void)generateHeadView {

    self.headArray = [[NSArray alloc]initWithArray:self.headButtonArray];

    for (int i = 0; i < [self.headArray count]; i++) {

        UIButton *button0 = [[UIButton alloc]init];
        button0 = [self.headArray objectAtIndex:i];
        CGRect frame = CGRectMake(0, (self.playerScrollView.frame.size.height*i)+((self.playerScrollView.frame.size.height/2)-button0.frame.size.height/2), button0.frame.size.width, button0.frame.size.height);

        button0.frame = frame;

        [playerScrollView addSubview:button0];

    }

    playerScrollView.contentSize = CGSizeMake(self.playerScrollView.frame.size.width , self.playerScrollView.frame.size.height * [self.headArray count]);

}
-(void)generateHeadView{
self.headArray=[[NSArray alloc]initWithArray:self.headButtonArray];
对于(int i=0;i<[self.headArray count];i++){
UIButton*button0=[[UIButton alloc]init];
button0=[self.headArray objectAtIndex:i];
CGRect frame=CGRectMake(0,(self.playerScrollView.frame.size.height*i)+(self.playerScrollView.frame.size.height/2)-按钮0.frame.size.height/2),按钮0.frame.size.width,按钮0.frame.size.height);
按钮0.frame=框架;
[playerScrollView添加子视图:按钮0];
}
playerScrollView.contentSize=CGSizeMake(self.playerScrollView.frame.size.width,self.playerScrollView.frame.size.height*[self.headArray count]);
}

-(void)generateEnemyHeadView{
self.headArray=[[NSArray alloc]initWithArray:self.headButtonArray];
对于(int i=0;i<[self.headArray count];i++){
UIButton*button1=[[UIButton alloc]init];
button1=[self.headArray objectAtIndex:i];
CGRect frame=CGRectMake(0,(self.enemyScrollView.frame.size.height*i)+(self.enemyScrollView.frame.size.height/2)-按钮1.frame.size.height/2),按钮1.frame.size.width,按钮1.frame.size.height);
按钮1.框架=框架;
[EneyScrollView添加子视图:按钮1];
}
enemyScrollView.contentSize=CGSizeMake(self.enemyScrollView.frame.size.width,self.enemyScrollView.frame.size.height*[self.headArray count]);
}
如果我删除
[enemycrollview addSubview:button1]
然后1个UIScrollView显示按钮,但当我添加
[enemyScrollView addSubview:button1]时然后只有2个UIScrollView显示按钮

有什么想法吗


对不起,我的英语

这段代码在概念上有很多面向对象的问题

首先,我们从问题开始:

您有一个
ui按钮的数组
ui按钮
可以添加到类
ui视图
(或某种类型)上。 因此,这个按钮可以有一个超级视图

换句话说,如果在view1上添加按钮,您将在view1上看到它; 但如果在view2上添加此按钮后,您将在view2上看到它,而在view1中不再看到它。

您能同时在两个位置吗?

其他方面..更好的代码可能是:

- (void)generateHeadView {

    self.headArray = [self.headButtonArray copy]; 
    //if self.headButtonArray is mutable use copy otherwise no.

    for (int i = 0; i < [self.headArray count]; i++) {

        @autorelease {
            UIButton *button0 = [self.headArray objectAtIndex:i];

            button0.frame = CGRectMake(0, (self.playerScrollView.frame.size.height*i)+((self.playerScrollView.frame.size.height/2)-button0.frame.size.height/2), button0.frame.size.width, button0.frame.size.height);

            [playerScrollView addSubview:button0];
        }
    }

    playerScrollView.contentSize = CGSizeMake(self.playerScrollView.frame.size.width , self.playerScrollView.frame.size.height * [self.headArray count]);

}
-(void)generateHeadView{
self.headArray=[self.headButtonArray copy];
//如果self.headButtonArray是可变的,则使用“复制”,否则为“否”。
对于(int i=0;i<[self.headArray count];i++){
@自动释放{
UIButton*button0=[self.headArray objectAtIndex:i];
button0.frame=CGRectMake(0,(self.playerScrollView.frame.size.height*i)+(self.playerScrollView.frame.size.height/2)-button0.frame.size.height/2),button0.frame.size.width,button0.frame.size.height);
[playerScrollView添加子视图:按钮0];
}
}
playerScrollView.contentSize=CGSizeMake(self.playerScrollView.frame.size.width,self.playerScrollView.frame.size.height*[self.headArray count]);
}

因为另一个也是一样的。显然,您需要另一组按钮,这样您就不能在
headButtonArray
中使用相同的按钮。但您需要另一组按钮..或更改策略。

文本视图在哪里?我看到对滚动视图和按钮的引用,但没有文本视图。对不起,我的错误是指滚动视图。我必须创建另一个UIButton和NSArray?另一个按钮数组是的。我不知道你需要做什么。但是按钮是一个实体。你不能同时在两个位置添加它。因此,是的,您需要另一个带有其他按钮的数组。请将答案设置为正确,以便我们可以结束主题。
- (void)generateHeadView {

    self.headArray = [self.headButtonArray copy]; 
    //if self.headButtonArray is mutable use copy otherwise no.

    for (int i = 0; i < [self.headArray count]; i++) {

        @autorelease {
            UIButton *button0 = [self.headArray objectAtIndex:i];

            button0.frame = CGRectMake(0, (self.playerScrollView.frame.size.height*i)+((self.playerScrollView.frame.size.height/2)-button0.frame.size.height/2), button0.frame.size.width, button0.frame.size.height);

            [playerScrollView addSubview:button0];
        }
    }

    playerScrollView.contentSize = CGSizeMake(self.playerScrollView.frame.size.width , self.playerScrollView.frame.size.height * [self.headArray count]);

}