2014-05-14 2 views
-1

를 표시하지 않습니다 :두있는 UIScrollView 하나는 내가이있는 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)generateEnemyHeadView { 

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


    for (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)-button1.frame.size.height/2), button1.frame.size.width, button1.frame.size.height); 

     button1.frame = frame; 

     [enemyScrollView addSubview:button1]; 

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

} 

내가 [enemyScrollView addSubview:button1]; 후 1있는 UIScrollView 쇼 버튼을 제거하지만 경우를 내가 [enemyScrollView addSubview:button1]; 만이 개있는 UIScrollView 쇼 버튼을 추가 할 때 ...

어떤 아이디어가 있습니까? 내 영어

+0

텍스트보기는 어디에 있습니까? 스크롤보기 및 단추 참조 있지만 텍스트보기를 참조하십시오. – rmaddy

+0

죄송합니다, 내 실수는 ScrollViews를 의미합니다 – pbeo

답변

1

이 코드에 대한 죄송합니다

OOP 개념의 많은 문제가 있습니다. 우리가 문제로 시작하는 모든의

첫째 :

당신은UIButton의 배열을 가지고있다. UIButton, 은 클래스UIView (또는 종류)에 추가 할 수 있습니다. 그래서 이 버튼은 단지 일 수 있습니다. SUPERVIEW.

즉, 버튼을 view1에 추가하면 view1에 표시됩니다. 하지만이 단추를 view2에 추가 한 후에는 view2에 표시되고 더 이상 view1에는 표시되지 않습니다.

동시에 2 곳이 될 수 있습니까?

다른 things..a 더 나은 코드는 다음과 같을 수 있습니다 다른 들어

- (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]); 

} 

가 동일합니다. 분명히 다른 버튼 세트가 있어야하므로 headButtonArray에있는 동일한 버튼을 사용할 수 없습니다. 그러나 다른 버튼 배열이 필요하거나 전략을 변경해야합니다.

+0

그래서 다른 UIButton 및 NSArray를 만들어야합니까? – pbeo

+0

버튼의 다른 배열 예 .. 나는 당신이해야 할 일을 알지 못합니다. 그러나 버튼은 하나의 엔티티입니다. 그리고 동시에 두 곳에서 그것을 추가 할 수 없습니다. 예, 다른 버튼이있는 다른 배열이 필요합니다. 주제를 닫을 수 있도록 답변을 올바르게 설정하십시오. –

+0

귀하의 도움과 안내에 많은 감사를드립니다! – pbeo

관련 문제