2014-10-20 20 views
7

Nasi użytkownicy mają powtarzające się awarie w poniższej metodzie. Awarie zdarzają się zawsze w jednym z wierszy: [lbl sizeToFit] (zmienna lbl jest ponownie inicjowana i ponownie wykorzystywana, co według mnie nie powinno powodować żadnych problemów).IOS8 - [UIlabel sizeToFit] powoduje awarię EXC_BAD_ACCESS KERN_INVALID_ADDRESS

Te awarie występują tylko w systemie iOS8 (ta sama metoda była używana przez bardzo długi czas na ios7 bez żadnych problemów). Nie mogłem odtworzyć tego wypadku samemu sobie. Obecnie moim jedynym ołów jest z dokumentacją jabłkiem „sizeToFit”:

..w niektórych przypadkach, jeśli widok nie posiada Superview, może się do wielkości w granicach ekranem. Jeśli chcesz, aby dany widok zmienił się w jego widok nadrzędny, powinieneś go dodać do widoku nadrzędnego przed wywołaniem tej metody.

Jednak nie widzę, w jaki sposób może generować złe refreny pamięci.

-(void)setUpHeaders:(NSInteger)fortype{ 
    headers = [NSMutableArray array]; 
    if(fortype == GROUP_BY_TIME){ 

    for(int i=0;i<4;i++){ 
     UIView* header = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 68)]; 
     header.backgroundColor = [UIColor whiteColor]; 
     [headers addObject:header]; 
    } 

    int today = (int)[NSDate dayOfTheWeekOfDate:[NSDate date]]; 
    int firstDayOfTheWeek = (int)[defaults integerForKey:FIRST_DAY_IF_THE_WEEK_KEY]; 
    NSString* restOfTheWeek = nil; 
    if(today == ((firstDayOfTheWeek + 4) % 7) + 1) restOfTheWeek = MyLocalizedString(@"THE COMING WEEK", @"THE COMING WEEK") ; 
    else if(today == ((firstDayOfTheWeek + 5) % 7) + 1) restOfTheWeek = MyLocalizedString(@"REST OF NEXT WEEK", @"REST OF NEXT WEEK") ; 
    else restOfTheWeek = MyLocalizedString(@"REST OF THE WEEK", @"REST OF THE WEEK") ; 

    UILabel* lbl = [[UILabel alloc] initWithFrame:CGRectMake(10, 38, 300, 30)]; 
    lbl.tag = 22; 
    lbl.font = XX_LARGE_VOLKS_FONT; 
    [lbl setBackgroundColor:[UIColor clearColor]]; 
    [lbl setTextColor:[UIColor darkGrayColor]]; 
    [lbl setText:MyLocalizedString(@"TODAY", @"TODAY") ]; 
    [lbl sizeToFit]; 
    [[headers objectAtIndex:0] addSubview:lbl]; 

    lbl = [[UILabel alloc] initWithFrame:CGRectMake([MyLocalizedString(@"TODAY", @"TODAY") sizeWithFont:[UIFont fontWithName:@"Volkswagen-Serial-Medium-Regular" size:21]].width + 15, 41, 300, 30)]; 
    lbl.tag = 2; 
    lbl.font = [UIFont fontWithName:@"Volkswagen-Regular" size:19]; 
    [lbl setBackgroundColor:[UIColor clearColor]]; 
    [lbl setTextColor:[UIColor darkGrayColor]]; 
    NSDateComponents *components = [[NSCalendar currentCalendar] components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear fromDate:[NSDate date]]; 
    [lbl setText:[NSString stringWithFormat:@" %@, %@ %d ",[[[NSLocale currentLocale] localeIdentifier] containSubString:@"he"] ? [[[NSDate date] dayOfTheWeekString] uppercaseString] : [[[NSDate date] threeLetterDayOfTheWeekString] uppercaseString],[NSDate abbriviatedMonthForDate:[NSDate date]],(int)[components day]]]; 
    lbl.textAlignment = NSTextAlignmentCenter; 
    [lbl sizeToFit]; 
    [[headers objectAtIndex:0] addSubview:lbl]; 

    UIImageView *img; 
    img = [[UIImageView alloc] initWithFrame:CGRectMake(0, 67, 320, 1)]; 
    [img setBackgroundColor:[UIColor darkGrayColor]]; 
    img.alpha = 0.5; 
    img.tag = 3; 
    [[headers objectAtIndex:0] addSubview:img]; 

    img = [[UIImageView alloc] initWithFrame:CGRectMake(lbl.frame.origin.x+2, 40, 1, 19)]; 
    [img setBackgroundColor:[UIColor darkGrayColor]]; 
    img.alpha = 0.5; 
    img.tag = 33; 
    [[headers objectAtIndex:0] addSubview:img]; 

    lbl = [[UILabel alloc] initWithFrame:CGRectMake(10, 38, 300, 30)]; 
    lbl.tag = 22; 
    lbl.font = XX_LARGE_VOLKS_FONT; 
    [lbl setBackgroundColor:[UIColor clearColor]]; 
    [lbl setTextColor:[UIColor darkGrayColor]]; 
    [lbl setText:MyLocalizedString(@"TOMORROW", @"TOMORROW")]; 
    [lbl sizeToFit]; 
    [[headers objectAtIndex:1] addSubview:lbl]; 

    lbl = [[UILabel alloc] initWithFrame:CGRectMake([MyLocalizedString(@"TOMORROW", @"TOMORROW") sizeWithFont:[UIFont fontWithName:@"Volkswagen-Serial-Medium-Regular" size:21]].width + 15, 41, 200, 30)]; 
    lbl.tag = 2; 
    lbl.font = [UIFont fontWithName:@"Volkswagen-Regular" size:19]; 
    [lbl setBackgroundColor:[UIColor clearColor]]; 
    [lbl setTextColor:[UIColor darkGrayColor]]; 
    components = [[NSCalendar currentCalendar] components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear fromDate:[NSDate dateWithTimeIntervalSinceNow:86400]]; 
    [lbl setText:[NSString stringWithFormat:@" %@, %@ %d ",[[[NSLocale currentLocale] localeIdentifier] containSubString:@"he"] ? [[[[NSDate date] dateByAddingDays:1] dayOfTheWeekString] uppercaseString] : [[[[NSDate date] dateByAddingDays:1] threeLetterDayOfTheWeekString] uppercaseString],[NSDate abbriviatedMonthForDate:[[NSDate date] dateByAddingDays:1]],(int)[components day]]]; 
    lbl.textAlignment = NSTextAlignmentCenter; 

    [lbl sizeToFit]; 
    [[headers objectAtIndex:1] addSubview:lbl]; 

    img = [[UIImageView alloc] initWithFrame:CGRectMake(0, 67, 320, 1)]; 
    [img setBackgroundColor:[UIColor darkGrayColor]]; 
    img.alpha = 0.5; 
    img.tag = 3; 
    [[headers objectAtIndex:1] addSubview:img]; 

    img = [[UIImageView alloc] initWithFrame:CGRectMake(lbl.frame.origin.x+2, 40, 1, 19)]; 
    [img setBackgroundColor:[UIColor darkGrayColor]]; 
    img.alpha = 0.5; 
    img.tag = 33; 
    [[headers objectAtIndex:1] addSubview:img]; 

    lbl = [[UILabel alloc] initWithFrame:CGRectMake(10, 38, 300, 30)]; 
    lbl.tag = 2; 
    lbl.font = XX_LARGE_VOLKS_FONT; 
    [lbl setBackgroundColor:[UIColor clearColor]]; 
    [lbl setTextColor:[UIColor darkGrayColor]]; 
    [lbl setText:restOfTheWeek]; 
    [[headers objectAtIndex:2] addSubview:lbl]; 

    img = [[UIImageView alloc] initWithFrame:CGRectMake(0, 67, 320, 1)]; 
    [img setBackgroundColor:[UIColor darkGrayColor]]; 
    img.alpha = 0.5; 
    img.tag = 3; 
    [[headers objectAtIndex:2] addSubview:img]; 

    lbl = [[UILabel alloc] initWithFrame:CGRectMake(10, 38, 300, 30)]; 
    lbl.tag = 2; 
    lbl.font = XX_LARGE_VOLKS_FONT; 
    [lbl setBackgroundColor:[UIColor clearColor]]; 
    [lbl setTextColor:[UIColor darkGrayColor]]; 
    [lbl setText:MyLocalizedString(@"LATER", @"LATER")]; 
    [[headers objectAtIndex:3] addSubview:lbl]; 

    img = [[UIImageView alloc] initWithFrame:CGRectMake(0, 67, 320, 1)]; 
    [img setBackgroundColor:[UIColor darkGrayColor]]; 
    img.alpha = 0.5; 
    img.tag = 3; 
    [[headers objectAtIndex:3] addSubview:img]; 

    lbl = (UILabel*)[[headers objectAtIndex:0] viewWithTag:2]; 
    todayWeather = [[UIImageView alloc] initWithFrame:CGRectMake(lbl.frame.size.width + lbl.frame.origin.x-5, 38, 30, 25)]; 
    [[headers objectAtIndex:0] addSubview:todayWeather]; 

    lbl = (UILabel*)[[headers objectAtIndex:1] viewWithTag:2]; 
    tomorrowWeather = [[UIImageView alloc] initWithFrame:CGRectMake(lbl.frame.size.width + lbl.frame.origin.x-5, 38, 30, 25)]; 
    [[headers objectAtIndex:1] addSubview:tomorrowWeather]; 

    [self gotWeather]; 

} 
else{ 
    NSMutableArray* labels = [[self getLabels] valueForKey:@"values"]; 

    CGRect headerFrame, labelFrame, seperatorFrame; 
    if ([defaults integerForKey:DISPLAY_TYPE]==DisplayTypeNotes) { 
     headerFrame = CGRectMake(0, 0, 320, 60); 
     labelFrame = CGRectMake(10, 30, 300, 30); 
     seperatorFrame = CGRectMake(0, 59, 320, 1); 
    }else{ 
     headerFrame = CGRectMake(0, 0, 320, 68); 
     labelFrame = CGRectMake(10, 38, 300, 30); 
     seperatorFrame = CGRectMake(0, 67, 320, 1); 

    } 


    for(int i=0;i<[labels count];i++){ 
     UIView* header = [[UIView alloc] initWithFrame:headerFrame]; 
     header.backgroundColor = [UIColor whiteColor]; 

     UILabel* lbl = [[UILabel alloc] initWithFrame:labelFrame]; 
     lbl.tag = 2; 
     lbl.font = XX_LARGE_VOLKS_FONT; 
     [lbl setBackgroundColor:[UIColor clearColor]]; 
     [lbl setTextColor:[UIColor darkGrayColor]]; 
     [lbl setText:[labels objectAtIndex:i]]; 
     [header addSubview:lbl]; 

     UIImageView *img; 
     img = [[UIImageView alloc] initWithFrame:seperatorFrame]; 
     [img setBackgroundColor:[UIColor darkGrayColor]]; 
     img.alpha = 0.5; 
     img.tag = 3; 
     [header addSubview:img]; 

     [header bringSubviewToFront:lbl]; 

     [headers addObject:header]; 
    } 
    //add aditonale header for unlabeled tasks\notes  
    UIView* header = [[UIView alloc] initWithFrame:headerFrame]; 
    header.backgroundColor = [UIColor whiteColor]; 

    UILabel* lbl = [[UILabel alloc] initWithFrame:labelFrame]; 
    lbl.tag = 2; 
    lbl.font = XX_LARGE_VOLKS_FONT; 
    [lbl setBackgroundColor:[UIColor clearColor]]; 
    [lbl setTextColor:[UIColor darkGrayColor]]; 
    [lbl setText:MyLocalizedString(@"Not Labeled", @"Not Labeled")]; 
    [header addSubview:lbl]; 

    UIImageView *img; 
    img = [[UIImageView alloc] initWithFrame:seperatorFrame]; 
    [img setBackgroundColor:[UIColor darkGrayColor]]; 
    img.alpha = 0.5; 
    img.tag = 3; 
    [header addSubview:img]; 

    [headers insertObject:header atIndex:0]; 

    } 


} 

Thread : Crashed: com.apple.main-thread 
0 UIKit       0x000000018c4f22a0 -[_UIViewAdditiveAnimationAction runActionForKey:object:arguments:] + 640 
1 UIKit       0x000000018c4f228c -[_UIViewAdditiveAnimationAction runActionForKey:object:arguments:] + 620 
2 QuartzCore      0x000000018bb80198 CA::Layer::set_bounds(CA::Rect const&, bool) + 408 
3 QuartzCore      0x000000018bb7ff78 -[CALayer setBounds:] + 104 
4 UIKit       0x000000018c70fa50 -[_UILabelLayer setBounds:] + 56 
5 QuartzCore      0x000000018bb80c58 -[CALayer setFrame:] + 488 
6 UIKit       0x000000018c70f9e4 -[_UILabelLayer setFrame:] + 56 
7 UIKit       0x000000018c22de0c -[UIView(Geometry) setFrame:] + 292 
8 UIKit       0x000000018c23d69c -[UILabel setFrame:] + 140 
9 UIKit       0x000000018c23ea88 -[UIView(Geometry) sizeToFit] + 248 
10 24me       0x00000001001e292c -[ViewController setUpHeaders:] (ViewController.m:3412) 
11 24me       0x00000001001dfcac -[ViewController groupByTime] (ViewController.m:3146) 
12 24me       0x00000001001df6a0 -[ViewController group] (ViewController.m:3071) 
13 Foundation      0x0000000188970ea8 __NSFireDelayedPerform + 424 
14 CoreFoundation     0x0000000187a6a210 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 28 
15 CoreFoundation     0x0000000187a69ec0 __CFRunLoopDoTimer + 888 
16 CoreFoundation     0x0000000187a6790c __CFRunLoopRun + 1372 
17 CoreFoundation     0x0000000187995664 CFRunLoopRunSpecific + 396 
18 GraphicsServices    0x0000000190acf5a4 GSEventRunModal + 168 
19 UIKit       0x000000018c29a4f8 UIApplicationMain + 1488 
20 24me       0x00000001000642bc main (main.m:16) 
21 libdyld.dylib     0x000000019875ea08 start + 4 
+1

Mam podobny problem z sizeToFit w systemów iOS 8: EXC_BAD_ACCESS (code = 2, address = x52) – Misha

+0

kiedykolwiek znaleźć niczego na ten temat ? – Fatlad

+2

Czy próbowałeś upewnić się, że działa na głównym wątku? Jestem pewien, że ostatnio spotkałem się z podobnym problemem, ale nie w 100%, więc nie chcę pisać jako odpowiedź. –

Odpowiedz

1

Zmodyfikowałem trochę kodu i dodałem komentarz. Zanotuj podświetloną część.

-(void)setUpHeaders:(NSInteger)fortype{ 
    headers = [NSMutableArray array]; 
    if(fortype == GROUP_BY_TIME){ 

    for(int i=0;i<4;i++){ 
     UIView* header = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 68)]; 
     header.backgroundColor = [UIColor whiteColor]; 
     [headers addObject:header]; 
    } 

    int today = (int)[NSDate dayOfTheWeekOfDate:[NSDate date]]; 
    int firstDayOfTheWeek = (int)[defaults integerForKey:FIRST_DAY_IF_THE_WEEK_KEY]; 
    NSString* restOfTheWeek = nil; 
    if(today == ((firstDayOfTheWeek + 4) % 7) + 1) restOfTheWeek = MyLocalizedString(@"THE COMING WEEK", @"THE COMING WEEK") ; 
    else if(today == ((firstDayOfTheWeek + 5) % 7) + 1) restOfTheWeek = MyLocalizedString(@"REST OF NEXT WEEK", @"REST OF NEXT WEEK") ; 
    else restOfTheWeek = MyLocalizedString(@"REST OF THE WEEK", @"REST OF THE WEEK") ; 

    UILabel* lbl = [[UILabel alloc] initWithFrame:CGRectMake(10, 38, 300, 30)]; 
    lbl.tag = 22; 
    lbl.font = XX_LARGE_VOLKS_FONT; 
    [lbl setBackgroundColor:[UIColor clearColor]]; 
    [lbl setTextColor:[UIColor darkGrayColor]]; 
    [lbl setText:MyLocalizedString(@"TODAY", @"TODAY") ]; 

[[nagłówki objectAtIndex: 0] addSubview: LBL]; // zanotuj tę część: [lbl sizeToFit]; // zawsze dodać do widoku swojego rodzica przed wywołaniem 'sizeToFit' lub zawiesisz

lbl = [[UILabel alloc] initWithFrame:CGRectMake([MyLocalizedString(@"TODAY", @"TODAY") sizeWithFont:[UIFont fontWithName:@"Volkswagen-Serial-Medium-Regular" size:21]].width + 15, 41, 300, 30)]; 
    lbl.tag = 2; 
    lbl.font = [UIFont fontWithName:@"Volkswagen-Regular" size:19]; 
    [lbl setBackgroundColor:[UIColor clearColor]]; 
    [lbl setTextColor:[UIColor darkGrayColor]]; 
    NSDateComponents *components = [[NSCalendar currentCalendar] components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear fromDate:[NSDate date]]; 
    [lbl setText:[NSString stringWithFormat:@" %@, %@ %d ",[[[NSLocale currentLocale] localeIdentifier] containSubString:@"he"] ? [[[NSDate date] dayOfTheWeekString] uppercaseString] : [[[NSDate date] threeLetterDayOfTheWeekString] uppercaseString],[NSDate abbriviatedMonthForDate:[NSDate date]],(int)[components day]]]; 
    lbl.textAlignment = NSTextAlignmentCenter; 

[[nagłówki objectAtIndex: 0] addSubview: LBL]; // zanotuj tę część: [lbl sizeToFit]; // zawsze dodać do widoku swojego rodzica przed wywołaniem 'sizeToFit' lub zawiesisz

UIImageView *img; 
    img = [[UIImageView alloc] initWithFrame:CGRectMake(0, 67, 320, 1)]; 
    [img setBackgroundColor:[UIColor darkGrayColor]]; 
    img.alpha = 0.5; 
    img.tag = 3; 
    [[headers objectAtIndex:0] addSubview:img]; 

    img = [[UIImageView alloc] initWithFrame:CGRectMake(lbl.frame.origin.x+2, 40, 1, 19)]; 
    [img setBackgroundColor:[UIColor darkGrayColor]]; 
    img.alpha = 0.5; 
    img.tag = 33; 
    [[headers objectAtIndex:0] addSubview:img]; 

    lbl = [[UILabel alloc] initWithFrame:CGRectMake(10, 38, 300, 30)]; 
    lbl.tag = 22; 
    lbl.font = XX_LARGE_VOLKS_FONT; 
    [lbl setBackgroundColor:[UIColor clearColor]]; 
    [lbl setTextColor:[UIColor darkGrayColor]]; 
    [lbl setText:MyLocalizedString(@"TOMORROW", @"TOMORROW")]; 

[[nagłówki objectAtIndex: 1] addSubview: LBL]; // zanotuj tę część: [lbl sizeToFit]; // zawsze dodać do widoku swojego rodzica przed wywołaniem 'sizeToFit' lub zawiesisz

lbl = [[UILabel alloc] initWithFrame:CGRectMake([MyLocalizedString(@"TOMORROW", @"TOMORROW") sizeWithFont:[UIFont fontWithName:@"Volkswagen-Serial-Medium-Regular" size:21]].width + 15, 41, 200, 30)]; 
    lbl.tag = 2; 
    lbl.font = [UIFont fontWithName:@"Volkswagen-Regular" size:19]; 
    [lbl setBackgroundColor:[UIColor clearColor]]; 
    [lbl setTextColor:[UIColor darkGrayColor]]; 
    components = [[NSCalendar currentCalendar] components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear fromDate:[NSDate dateWithTimeIntervalSinceNow:86400]]; 
    [lbl setText:[NSString stringWithFormat:@" %@, %@ %d ",[[[NSLocale currentLocale] localeIdentifier] containSubString:@"he"] ? [[[[NSDate date] dateByAddingDays:1] dayOfTheWeekString] uppercaseString] : [[[[NSDate date] dateByAddingDays:1] threeLetterDayOfTheWeekString] uppercaseString],[NSDate abbriviatedMonthForDate:[[NSDate date] dateByAddingDays:1]],(int)[components day]]]; 
    lbl.textAlignment = NSTextAlignmentCenter; 

[[nagłówki objectAtIndex: 1] addSubview: LBL]; // zanotuj tę część: [lbl sizeToFit]; // zawsze dodać do widoku swojego rodzica przed wywołaniem „sizeToFit” lub zawiesisz

img = [[UIImageView alloc] initWithFrame:CGRectMake(0, 67, 320, 1)]; 
    [img setBackgroundColor:[UIColor darkGrayColor]]; 
    img.alpha = 0.5; 
    img.tag = 3; 
    [[headers objectAtIndex:1] addSubview:img]; 

    img = [[UIImageView alloc] initWithFrame:CGRectMake(lbl.frame.origin.x+2, 40, 1, 19)]; 
    [img setBackgroundColor:[UIColor darkGrayColor]]; 
    img.alpha = 0.5; 
    img.tag = 33; 
    [[headers objectAtIndex:1] addSubview:img]; 

    lbl = [[UILabel alloc] initWithFrame:CGRectMake(10, 38, 300, 30)]; 
    lbl.tag = 2; 
    lbl.font = XX_LARGE_VOLKS_FONT; 
    [lbl setBackgroundColor:[UIColor clearColor]]; 
    [lbl setTextColor:[UIColor darkGrayColor]]; 
    [lbl setText:restOfTheWeek]; 

    [[headers objectAtIndex:2] addSubview:lbl]; 

    img = [[UIImageView alloc] initWithFrame:CGRectMake(0, 67, 320, 1)]; 
    [img setBackgroundColor:[UIColor darkGrayColor]]; 
    img.alpha = 0.5; 
    img.tag = 3; 
    [[headers objectAtIndex:2] addSubview:img]; 

    lbl = [[UILabel alloc] initWithFrame:CGRectMake(10, 38, 300, 30)]; 
    lbl.tag = 2; 
    lbl.font = XX_LARGE_VOLKS_FONT; 
    [lbl setBackgroundColor:[UIColor clearColor]]; 
    [lbl setTextColor:[UIColor darkGrayColor]]; 
    [lbl setText:MyLocalizedString(@"LATER", @"LATER")]; 
    [[headers objectAtIndex:3] addSubview:lbl]; 

    img = [[UIImageView alloc] initWithFrame:CGRectMake(0, 67, 320, 1)]; 
    [img setBackgroundColor:[UIColor darkGrayColor]]; 
    img.alpha = 0.5; 
    img.tag = 3; 
    [[headers objectAtIndex:3] addSubview:img]; 

    lbl = (UILabel*)[[headers objectAtIndex:0] viewWithTag:2]; 
    todayWeather = [[UIImageView alloc] initWithFrame:CGRectMake(lbl.frame.size.width + lbl.frame.origin.x-5, 38, 30, 25)]; 
    [[headers objectAtIndex:0] addSubview:todayWeather]; 

    lbl = (UILabel*)[[headers objectAtIndex:1] viewWithTag:2]; 
    tomorrowWeather = [[UIImageView alloc] initWithFrame:CGRectMake(lbl.frame.size.width + lbl.frame.origin.x-5, 38, 30, 25)]; 
    [[headers objectAtIndex:1] addSubview:tomorrowWeather]; 

    [self gotWeather]; 

} 
else{ 
    NSMutableArray* labels = [[self getLabels] valueForKey:@"values"]; 

    CGRect headerFrame, labelFrame, seperatorFrame; 
    if ([defaults integerForKey:DISPLAY_TYPE]==DisplayTypeNotes) { 
     headerFrame = CGRectMake(0, 0, 320, 60); 
     labelFrame = CGRectMake(10, 30, 300, 30); 
     seperatorFrame = CGRectMake(0, 59, 320, 1); 
    }else{ 
     headerFrame = CGRectMake(0, 0, 320, 68); 
     labelFrame = CGRectMake(10, 38, 300, 30); 
     seperatorFrame = CGRectMake(0, 67, 320, 1); 

    } 


    for(int i=0;i<[labels count];i++){ 
     UIView* header = [[UIView alloc] initWithFrame:headerFrame]; 
     header.backgroundColor = [UIColor whiteColor]; 

     UILabel* lbl = [[UILabel alloc] initWithFrame:labelFrame]; 
     lbl.tag = 2; 
     lbl.font = XX_LARGE_VOLKS_FONT; 
     [lbl setBackgroundColor:[UIColor clearColor]]; 
     [lbl setTextColor:[UIColor darkGrayColor]]; 
     [lbl setText:[labels objectAtIndex:i]]; 
     [header addSubview:lbl]; 

     UIImageView *img; 
     img = [[UIImageView alloc] initWithFrame:seperatorFrame]; 
     [img setBackgroundColor:[UIColor darkGrayColor]]; 
     img.alpha = 0.5; 
     img.tag = 3; 
     [header addSubview:img]; 

     [header bringSubviewToFront:lbl]; 

     [headers addObject:header]; 
    } 
    //add aditonale header for unlabeled tasks\notes  
    UIView* header = [[UIView alloc] initWithFrame:headerFrame]; 
    header.backgroundColor = [UIColor whiteColor]; 

    UILabel* lbl = [[UILabel alloc] initWithFrame:labelFrame]; 
    lbl.tag = 2; 
    lbl.font = XX_LARGE_VOLKS_FONT; 
    [lbl setBackgroundColor:[UIColor clearColor]]; 
    [lbl setTextColor:[UIColor darkGrayColor]]; 
    [lbl setText:MyLocalizedString(@"Not Labeled", @"Not Labeled")]; 
    [header addSubview:lbl]; 

    UIImageView *img; 
    img = [[UIImageView alloc] initWithFrame:seperatorFrame]; 
    [img setBackgroundColor:[UIColor darkGrayColor]]; 
    img.alpha = 0.5; 
    img.tag = 3; 
    [header addSubview:img]; 

    [headers insertObject:header atIndex:0]; 

    } 
} 
Powiązane problemy