2013-11-16 3 views
0

Кажется, у меня возникла проблема с пониманием того, как работают функции subviews. У меня есть UITextfield и я хочу, чтобы добавить это к виду содержания UITableViewCell так я это сделать:Добавление представления в контентный просмотр UITableViewCell, помещает представление в неподходящее место

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

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:nil]; 

    if (cell==nil) { 
    cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil]; 

    } // Configure the cell... 
    UITextField *tf = [textFieldsArray objectAtIndex:[indexPath row]]; 
    tf.frame = CGRectMake(0, 0, 100, 12); 
    [cell.contentView addSubview:tf]; 
    return cell; 
} 

Я предположил, что, делая текстовые поля кадров происхождения (0,0), когда я добавить это как подвид к представлению содержимого он поместит его в представление содержимого в позиции (0,0), но этого не происходит, оно фактически помещает его в позицию (0,0) всей ячейки (верхняя левая часть большей части клетка).

Если это не было изменено в iOS7, я думал, что вид содержание было так:

content view http://www.idev101.com/code/User_Interface/UITableView/cellEditAnatomy.png

Если да, то есть ли способ я могу на самом деле место это в contentView без необходимости вручную определить смещение каждый раз?

+2

Верхний левый угол 'contentView' и ячейка одинаковы, если вы не находитесь в режиме редактирования. – rmaddy

+0

dont set image .. – Rajneesh071

+0

ahh maddy спасибо, я чувствую себя настолько глупо! –

ответ

0
 Try This 


     if (cell==nil) 
     { 
     cell = [[[UITableViewCell alloc]initWithStyle: 
     UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier]autorelease]; 

     UIImageView *img=[[UIImageView alloc]init]; 
     img.tag=100; 
     img.layer.cornerRadius = 3; 
     img.layer.masksToBounds = YES; 
     [cell addSubview:img]; 


     UILabel *lbl= [[UILabel alloc]init]; 
     lbl.backgroundColor= [UIColor clearColor]; 
     [email protected]"ABC"; 
     lbl.textAlignment=NSTextAlignmentLeft; 
     lbl.textColor=[UIColor blackColor]; 
     lbl.tag=200; 
     [cell addSubview:lbl]; 


    } 
img1=(UIImageView *)[cell viewWithTag:100]; 

NSArray *imgDataArr = [[NSArray alloc] initWithArray:[[arrFields objectAtIndex: storyIndex] objectForKey: @"image"]]; 

for (UIImage *image in imgDataArr) 
{ 
    if (image) 
     img1.image =image; 
} 
[cell addSubview:img1]; 


UILabel *lbl1 = (UILabel*)[cell viewWithTag:200]; 
[cell addSubview:lbl1]; 
lbl1.numberOfLines=3; 
lbl1.text=[[arrFields objectAtIndex: storyIndex] objectForKey: @"Item_No"]; 
Смежные вопросы