Skocz do zawartości

Witaj!

Zaloguj lub Zarejestruj się aby uzyskać pełny dostęp do forum.

Zdjęcie
- - - - -

Populacja UIView wczytanego z pliku .xib


  • Zaloguj się, aby dodać odpowiedź
Brak odpowiedzi do tego tematu

#1 metal_man

metal_man
  • 489 postów
  • SkądChorzów

Napisano 13 lipca 2013 - 17:11

Witam. Męczę się ostatnio z błahym wydawałoby się problemem. Otóż tworzę pusty plik z interfejsem użytkownika. Tam dodaję jeden główny UIView, a na nim umieszczam UIImageView oraz UILabel. Następnie tworzę klasę TestClass dziedziczącą po UIView i definuję IBOutlety i łącze je z elementami interfejsu.

Teraz pytanie jak tak przygotowany wzór użyć wielokrotnie w programie?

Na tą chwilę robię coś takiego:

for (int i=0; i<[documentsList count]; i++) {
        documentView = [[TestClass alloc] initWithFrame:CGRectMake(X, Y, 100, 200)];
        CGRect tempFrame;
        tempFrame.origin.x = X;
        tempFrame.origin.y = Y;
        
        documentView = [TestClass loadInstanceFromNib];
        documentView.frame = tempFrame;
        
        documentView.UI_Title.text = [[documentsList objectAtIndex:i] lastPathComponent];
        documentView.UI_Title.numberOfLines = 1;
        documentView.UI_Title.adjustsFontSizeToFitWidth = YES;
        
        documentView.tag = i;
        
        [self.view addSubview:documentView];
        
        X += 100;
    }

Jednak zamiast umieścić view jeden obok drugiego, to tak jakby albo się wszystkie na raz nałożyły, bez zmiany współrzędnych albo utworzył się jeden egzemplarz i tylko label zmieniał swoją wartość...

Jeśli zaś chodzi o linijkę

documentView = [TestClass loadInstanceFromNib];

to jest to tylko kategoria:

+(id)loadInstanceFromNib
{
    UIView *result;
    
    NSArray *viewsElements = [[NSBundle mainBundle] loadNibNamed:@"TestClass" owner:self options:nil];
    
    for (id object in viewsElements) {
        if ([object isKindOfClass:[TestClass class]]) {
            result = (TestClass *)object;
            break;
        }
    }
    
    return result;
}





Użytkownicy przeglądający ten temat: 1

0 użytkowników, 1 gości, 0 anonimowych