UIScrollView sub-visualizações fantasmas
Estou carregando uma visualização de um arquivo de ponta usando:
NSArray *nibViews = [[NSBundle mainBundle] loadNibNamed:@"AnalysisView" owner:self options:nil];
AnalysisView *gridView = [nibViews objectAtIndex: 0];
A ponta contém um scrollview chamado gridScrollView e, no arquivo de implementação AnalysisView, tenho um método que adiciona visualizações como subviews à scrollview:
for (NSInteger i = [results count] -1; i >= 0; i--)
{
Result *result = [results objectAtIndex:i];
[self loadResult: result];
}
- (void) loadResult: (Result *) result
{
NSArray *nibViews = [[NSBundle mainBundle] loadNibNamed:@"GridView" owner:self options:nil];
GridView *gridView = [nibViews objectAtIndex: 0];
gridView.tag = self.graphCount;
CGRect gridFrame = gridView.frame;
CGFloat yOffset = gridFrame.size.height * self.graphCount;
gridView.frame = CGRectMake(0, yOffset, gridFrame.size.width, gridFrame.size.height);
[self.gridScrollView addSubview: gridView];
self.gridScrollView.contentSize = CGSizeMake(self.gridScrollView.frame.size.width, (yOffset + gridFrame.size.height));
self.graphCount++;
}
Configurei o delegado de visualizações de rolagem como AnalysisView e liguei o método de descelaração finalizado
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
NSLog(@"%d", [scrollView.subviews count]);
}
Quando o método scrollViewDidEndDecelerating é acionado, ele informa que o número de subviews é 5. 3 dessas subviews são GridViews que eu espero. No entanto, existem 2 UIImageViews que eu não tenho idéia do porquê eles estão lá.
Este é um problema, porque pretendo recuperar as visualizações com viewWithTag no método scrollViewDidEndDecelerating e chamar um método na visualização, no entanto, sempre que tentar recuperar uma visualização com uma tag 0, recuperarei uma das UIImageView e isso causará o meu aplicativo travar porque o método não pode ser chamado em uma exibição de imagem.
Eu sei que uma maneira de contornar isso é armazenar meus GridViews em uma matriz de instância separada e referenciá-los a partir daí. Mas estou curioso para saber o que são as 2 UIImageViews e como elas chegaram lá.