2013-04-25 3 views
1

Я разрабатываю приложение, такое как Instagram. У меня есть код для cellForRowAtIndexPath, каждый раз, когда он создает объект для разблокировки, и это автореферат. эта кнопка показывает имя пользователя и может быть 1,2,3,4,5, .. всего, как пользователи. там для i create UIButton зависит от типа cout. Я не использую ARC.[UIDeviceRGBColor set]: сообщение отправлено на освобожденный экземпляр

но авария иногда (не каждыйTime) когда установленColour.

Я включил NSZombie и твердит:

[UIDeviceRGBColor набор]: сообщение, отправленное высвобождены например 0x21b526f0

  UIButton *btnLikeUserName = [[[UIButton alloc] init] autorelease]; 
       [btnLikeUserName.titleLabel setFont:[UIFont boldSystemFontOfSize:12]]; 

       if (posx + size.width > 280) { 
        posy = posy + 22; 
        posx = 18; 
        btnLikeUserName.frame = CGRectMake(posx,posy,size.width,size.height); 
        posx = posx + size.width + 5; 
       } 
       else { 
        btnLikeUserName.frame = CGRectMake(posx,posy,size.width,size.height); 
        posx = posx + size.width + 5; 
       } 
       btnLikeUserName.tag = shareObjU.userId; 
       [btnLikeUserName setTitle:text forState:UIControlStateNormal]; 
       [btnLikeUserName setTitleColor:[UIColor colorWithRed:50/255.0 green:79/255.0 blue:133/255.0 alpha:1.0] forState:UIControlStateNormal]; ////Hear is crash 
       [btnLikeUserName addTarget:self action:@selector(btnLikeUserNameClick:) forControlEvents:UIControlEventTouchUpInside]; 
       [cell.viewLikeComment addSubview:btnLikeUserName]; 

я также вижу следующую ссылку

UISwitch setThumbTintColor causing crash (iOS 6 only)?

1 out of 4 colors return errors

iOS App crashes when using colorWithRed:green:blue:alpha

и др .., но все говорит за глобальное Objct. а не локальный объект. как я могу это решить. Спасибо

+0

Вместо того, чтобы выделять UIbutton, пожалуйста, e этот метод [кнопка UIButton], а затем попробуйте. – Prav

ответ

2

попробовать этот код ...

[btnLikeUserName setTitleColor:[UIColor colorWithRed:((float) 50/255.0f) 
          green:((float) 79/255.0f) 
          blue:((float) 133/255.0f) 
          alpha:1.0f] forState:UIControlStateNormal]; 

ИЛИ Также вы можете установить UIColor как сильфон.

[btnLikeUserName setTitleColor:[UIColor colorWithRed:50.0f/255.0f green:79.0f/255.0f blue:133.0f/255.0f alpha:1.0] forState:UIControlStateNormal]; 

И здесь вы Добавьте UIButtons в каждой клетке затем попытаться определить, как сильфона не Alloc и autorelease каждый раз .....

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; 

* UPDATE: * См пример, я добавляю в каждую ячейку с несколькими кнопками, такими как GridView

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; 
button.frame = rect; 
button.tag = imageIndex; 
[button addTarget:self action:@selector(btnTemp_Clicked:) 
       forControlEvents:UIControlEventTouchDown]; 

[button setTitle:[arrTime objectAtIndex:imageIndex] forState:UIControlStateNormal]; 
[button.titleLabel setFont:[UIFont fontWithName:@"Helvetica-Bold" size:12]]; 

//[button setTitleColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"circle03.jpg"]] forState:UIControlStateNormal ];     
[button setTitleColor:[UIColor colorWithRed:50.0f/255.0f green:79.0f/255.0f blue:133.0f/255.0f alpha:1.0] forState:UIControlStateHighlighted ]; 

[button setNeedsDisplay]; 

[gridCell.contentView addSubview:button]; 
+0

, но ошибка, сообщение отправлено на освобожденный экземпляр, я думаю, что мое имя btnLikeUserName освобождено. я прав? –

+0

@SAMIRRATHOD здесь этот тип ошибки произошел с сообщением UIDeviceRGBColor, когда его тип параметра не соответствует его методу .. попробуйте это и дайте мне знать .. :) –

+0

ОК, я попробую, и я расскажу вам, что это за статус. Спасибо за ответ –

Смежные вопросы