2016-05-08 3 views
0

ich den folgenden Code verwendet habe einrücken eine Zelle Einzug nach links zu machen:Ich versuche, den rechten Rand meiner Tabelle Ansicht Zelle Text-Label

[cell setIndentationWidth:1]; 
[cell setIndentationLevel:15]; 

Leider ist diese Tabelle Ansicht Zelle beschriftetes ausgleicht, wenn Eine Zelle enthält viel Text, so dass das Problem hier ist, dass die Ellipse der Inhalt des Textlabels ist weiter rechts und die Ellipse zeigt sich weiter als üblich beim Einrücken von links.

Wie kann ich meine UITableViewCell 's textLabel auch einen richtigen Einzug (oder Rand) haben?

Antwort

1

Ich habe Folgendes getan (es scheint, dass Sie nicht einfach den Rahmen des Textlabels anders einstellen können).

Header (H):

@interface UITableViewCellFixed : UITableViewCell 

@property (nonatomic, assign) CGRect textLabelFrame; 

@end 

Implementation (.m):

@implementation UITableViewCellFixed : UITableViewCell 

- (id)initWithLabelFrame:(CGRect)textLabelFrame { 
    self = [super init]; 
    if (self) 
     self.textLabelFrame = textLabelFrame; 
    return self; 
} 

- (void) layoutSubviews { 
    [super layoutSubviews]; 
    self.textLabel.frame = self.textLabelFrame; 
} 

@end 

... 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    ... 
    UITableViewCellFixed *cell = [[UITableViewCellFixed alloc] initWithLabelFrame:CGRectMake(30, 0, tableView.frame.size.width - 60, 50)]; 
    ... 
}