I'm very much new to iphone development and strucked at a point. Actually my need is I'm displaying some results in a `UITableView` and I'm displaying then `UILables` of `UITableView's` cell..
How can I make the `UILabel's` to adjust the content according to the text. Actually text is not static .It may be changing at run time.So I need to set dynamic size to a UILabel .Ans secondly suppose if the text is `null` then it should not show any space and immediately the next `UILabel` should start .How can I make it possible ?
Here is my code..

```
self.tableView=[[UITableView alloc] initWithFrame:CGRectMake(0,150,320,800) style:UITableViewStylePlain];
            self.tableView.delegate=self;
            self.tableView.dataSource=self;
            self.tableView.scrollEnabled = NO;
            [self.view addSubview:self.tableView];

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    if(currentHtmlElement==@"3")
    {
        static NSString *CellIdentifier=@"Cell";

        UITableViewCell* cell=[tableView dequeueReusableCellWithIdentifier:CellIdentifier];

        if(cell == nil)
        {
            cell = [[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault    reuseIdentifier:CellIdentifier]autorelease];
        }
        NSMutableDictionary *d = (NSMutableDictionary *) [arr2 objectAtIndex:indexPath.row];
        cell.accessoryType= UITableViewCellAccessoryDetailDisclosureButton;
       UILabel  *name1= [[UILabel alloc]initWithFrame:CGRectMake(10, 5, 320, 40)];
        name1.font=[UIFont boldSystemFontOfSize:16];
        [name1 setTextAlignment:UITextAlignmentLeft];
        [name1 setText:[d valueForKey:@"Name"]];
        name1.tag = 111;
        [cell addSubview:name1];
        [name1 release];

        UILabel *codetype=[[UILabel alloc]initWithFrame:CGRectMake(10, 45, 320,15)];
        codetype .font=[UIFont boldSystemFontOfSize:12];        
        [codetype setTextAlignment:UITextAlignmentLeft];
        [codetype  setText:[d valueForKey:@"Code"]];
        codetype.tag=112;
        [cell addSubview:codetype];
        [codetype  release];    

        UILabel *id=[[UILabel alloc]initWithFrame:CGRectMake(10, 68, 320,10)];
        id .font=[UIFont fontWithName:@"arial" size:12];        
        [id setTextAlignment:UITextAlignmentLeft];
        [id  setText:[d valueForKey:@"ID"]];
        id.tag=113;
        [cell id ];
        [id  release]; 

        UILabel *address=[[UILabel alloc]initWithFrame:CGRectMake(10, 85, 320,10)];
        address .font=[UIFont fontWithName:@"arial" size:12];        
        [address setTextAlignment:UITextAlignmentLeft];
        [address  setText:[d valueForKey:@"address"]];
        line2.tag=114;
        [cell addSubview: address];
        [address  release]; 

        UILabel *city = [[UILabel alloc]initWithFrame:CGRectMake(10, 105, 320, 10)];
        city .font=[UIFont fontWithName:@"arial" size:12];        
        [city  setTextAlignment:UITextAlignmentLeft];
        [city  setText:[d valueForKey:@"City"]];
        city.tag=115;
        [cell addSubview:city ];
        [city  release];
}

```

Here I have set all the UILabels to static size.But what I need is dynamic size.and suppose if the address label is null then it should not show any space and next label i.e city should start immediately next after id ..How is it possible?