2013-07-22 8 views
0

Я пытаюсь создать пользовательский UITableViewCell, я создаю свою собственную ячейку с IB, я поставил класс моей камеры, подключить IB, то я использую клетку таким образом:пользовательского cellcustom uitableveiwcell с IB

- (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 


CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Identifier"]; 

if (cell == nil) { 
    NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil]; 
    cell = [topLevelObjects objectAtIndex:0]; 
} 

if (indexPath.row == 0) { 
    [cell.username setText:@"Load more"]; 
    [cell.testo setText:@""]; 
} 
else { 

    [cell setSelectionStyle:UITableViewCellSelectionStyleNone]; 

    PFObject *obj = [self.arrayMessaggi objectAtIndex:indexPath.row - 1]; 
    PFUser *user = [obj objectForKey:@"daUtente"]; 



    float height = [self getStringHeight:[obj objectForKey:@"TestoMessaggio"] 
           andFont:[UIFont italicSystemFontOfSize:13]]; 

    NSLog(@"Height: %f",height); 

    [cell.username setFrame:CGRectMake(10, 5, 300, 20)]; 
    [cell.username setText:[user objectForKey:@"username"]]; 

    [cell.testo setFrame:CGRectMake(10, 25, 300, height)]; 
    [cell.testo setText:[obj objectForKey:@"TestoMessaggio"]]; 
} 


return cell; 

}

проблема в том, что высота текстового поля неверна, высота значения правильная, но рамки текстового просмотра более малы, а затем, если я прокручиваю вверх/вниз, кадр изменения текста меняет размер IB.

+0

имя пользователя и Testo являются texfield или TextView? и, пожалуйста, попробуйте сохранить весь код, если conditon до последнего времени сохранит его в ячейке == nill и запустит код – Romance

+0

. Имя пользователя - an'uilabel, а testo - an'uitextview! Я пытаюсь положить все внутри условия, но таблица не хороша! – kikko088

ответ

0

Я надеюсь, что это помогает U

NSString *someText = [NSString stringWithFormat:@"%@",[obj objectForKey:@"TestoMessaggio"]]; 
CGSize constraintSize; 
constraintSize.width = 300.0f; 
constraintSize.height =100000; 
CGSize stringSize =[someText sizeWithFont: [UIFont boldSystemFontOfSize: 17] constrainedToSize: constraintSize lineBreakMode: UILineBreakModeWordWrap]; 
    CGRect rect ; 
     if (stringSize.height>37) { 
      rect = CGRectMake(10, 150, 210, 20+stringSize.height); 
     } 
    else 
    { 
     rect = CGRectMake(10, 150, 210, 50); 
     } 
    yourtextview.frame=rect; 
Смежные вопросы