Перекрытие текста UILabel - PullRequest
0 голосов
/ 29 июля 2011

Я использую 4 UILabels в одном представлении.

-(void)setQuestion{
Challenge = [[[UILabel alloc] initWithFrame:CGRectMake(16, 70, 294, 150)] autorelease];
Challenge.text = challengetext ;
Challenge.lineBreakMode = UILineBreakModeWordWrap;
Challenge.backgroundColor = [UIColor clearColor];
[self.view addSubview:Challenge];

Question = [[[UILabel alloc] initWithFrame:CGRectMake(16, 100 + Challenge.frame.size.height, 294, 150)] autorelease];
Question.text = activeQuestion ;
Question.lineBreakMode = UILineBreakModeWordWrap;
Question.backgroundColor = [UIColor clearColor];
[self.view addSubview:Question];

Answer = [[[UILabel alloc] initWithFrame:CGRectMake(16, 130 + Challenge.frame.size.height + Question.frame.size.height , 294, 150)] autorelease];
Answer.text = [theQuiz objectAtIndex:row+1] ;
Answer.lineBreakMode = UILineBreakModeWordWrap;
Answer.backgroundColor = [UIColor clearColor];
[self.view addSubview:Answer];

Description = [[[UILabel alloc] initWithFrame:CGRectMake(16, 160 + Challenge.frame.size.height + Question.frame.size.height + Answer.frame.size.height , 294, 150)] autorelease];
Description.text = [theQuiz objectAtIndex:row+2] ;
Description.lineBreakMode = UILineBreakModeWordWrap;
Description.backgroundColor = [UIColor clearColor];
[self.view addSubview:Description];
}

Есть одна кнопка для следующего вопроса.

-(IBAction)next{

[scrollview scrollRectToVisible:CGRectMake(0, 0, 1, 1) animated:NO]; 
NSInteger endOfQuiz = [theQuiz count];
//[Challenge setHidden:YES];
if((((questionNumber - 1) * 4) + 4) == endOfQuiz)
{
    restartGame = YES;


}else
{
        [self setQuestion];        
}
}

Когда я нажимаю на следующую кнопку, я получаю следующий вопрос из моего текстового файла.
Но проблема в том, что каждый раз, когда я нажимаю следующий текст на ярлыке, накладывается.

Что я должен сделать для этого ??

Спасибо ..

1 Ответ

0 голосов
/ 29 июля 2011

Попробуйте removeFromSuperview свои ярлыки, прежде чем делать [self setQuestion]:

- (IBAction)next {

    [scrollview scrollRectToVisible:CGRectMake(0, 0, 1, 1) animated:NO]; 
    NSInteger endOfQuiz = [theQuiz count];
    //[Challenge setHidden:YES];
    if((((questionNumber - 1) * 4) + 4) == endOfQuiz) {
        restartGame = YES;
    } else {
        [Challenge removeFromSuperview];
        [Question removeFromSuperview];
        [Answer removeFromSuperview];
        [Description removeFromSuperview];
        [self setQuestion];        
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...