hacker
hacker

Reputation: 8947

Setting Position of the textlabel inside the tableviewcell?

In my application i am trying to adjust the position of the textlabel and detailtextlabel in a tableview cell.I am doing like this `

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

{
     static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
        UIImageView* img = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"cell_with_arrow.png"]];
        [cell setBackgroundView:img];
        [img release];  


    }

    cell.textLabel.frame = CGRectMake(0,0, 150, 40);
    cell.detailTextLabel.frame = CGRectMake(155, 55, 150, 40);
    cell.textLabel.font = [UIFont fontWithName:@"Helvetica-Bold" size:14.0];
    cell.textLabel.textColor = [UIColor blackColor];
    cell.textLabel.backgroundColor = [UIColor clearColor];
    cell.textLabel.text =@"name";
    cell.detailTextLabel.text=@" status";

     cell.detailTextLabel.backgroundColor = [UIColor clearColor]; 
    //cell.detailTextLabel.textAlignment = UITextAlignmenteft;
    //cell.textLabel.textAlignment = UITextAlignmentLeft;

  return cell;
}

`but seems to be having no effect.can anybody help me to point me where i am going wrong?

Upvotes: 0

Views: 3077

Answers (3)

abhishekkharwar
abhishekkharwar

Reputation: 3529

you need to override layoutSubviews method

Create a customcell class and inherit with uitableviewcell

@try this code

CustomCell.h

#import <UIKit/UIKit.h>

@interface CustomCell : UITableViewCell

@end

CustomCell.m

#import "CustomCell.h"

@implementation CustomCell

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString  *)reuseIdentifier
{
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if (self) {
        // Initialization code
    }
    return self;
}

-(void)layoutSubviews{

    //Set here your frame

    self.textLabel.frame = CGRectMake(0, , 320, 30);
}

- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
    [super setSelected:selected animated:animated];

    // Configure the view for the selected state
}

@end

Upvotes: 2

Tomasz Zabłocki
Tomasz Zabłocki

Reputation: 1326

What I would suggest is that you could create your custom UITableViewCell instead, you will have more control over it's content and can add custom subviews in there as well.

Here are some tutorials for that:

From IB

From Code

Upvotes: 2

Peter Warbo
Peter Warbo

Reputation: 11700

textLabel and detailTextLabel are readonly so you can not change them.

@property(nonatomic, readonly, retain) UILabel *textLabel
@property(nonatomic, readonly, retain) UILabel *detailTextLabel

See here

Upvotes: 3

Related Questions