我正在使用带有标签和详细信息的标准原型单元格。我将详细文本设置为两行,并将文本设置为带有换行符的内容。这很好用——但是,(左对齐)主标签已经失去了垂直居中,尽管我没有改变它的任何属性。
这是 Storyboard 中的样子:
“标题”应垂直居中。
我正在使用带有标签和详细信息的标准原型单元格。我将详细文本设置为两行,并将文本设置为带有换行符的内容。这很好用——但是,(左对齐)主标签已经失去了垂直居中,尽管我没有改变它的任何属性。
这是 Storyboard 中的样子:
“标题”应垂直居中。
您可以继承 UITableViewCell 并在 initWithStyle 方法中进行布局。例如:
MyCustomCell.h 文件:
@interface MyCustomCell : UITableViewCell
{
UILabel *_label1;
UILabel *_label2;
UILabel *_titleLabel;
}
@property (nonatomic, strong) UILabel *label1;
@property (nonatomic, strong) UILabel *label2;
@property (nonatomic, strong) UILabel *titleLabel;
@end
MyCustomCell.m 文件:
#import "MyCustomCell.h"
@implementation MyCustomCell
@synthesize label1 = _label1;
@synthesize label2 = _label2;
@synthesize titleLabel = _titleLabel;
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
// Initialization code
self.label1 = [[UILabel alloc]initWithFrame:CGRectMake(x, y, w, h)]; //x: x coordinate, y: y coordinate, w is width , h is height
self.label2 = [[UILabel alloc]initWithFrame:CGRectMake(x, y, w, h)];
self.titleLabel = [[UILabel alloc]initWithFrame:CGRectMake(x, y, w, h)];
self.titleLabel.font = [UIFont fontWithName:@"Times New Roman" size:30.0f]; //change font name and size per your needed.
[self addSubview:self.label1];
[self addSubview:self.label1];
[self addSubview:self.titleLabel];
}
return self;
}
在您拥有cellForRowAtIndexPath
方法的类文件中,确保包含#import "MyCustomCell.h"
并使用MyCustomCell
而不是UITableViewCell
分配单元格。并将数据分配给标签,如下所示:
cell.label1.text = xxxx;
cell.label2.text = xxxx;
cell.titleLabel.text = xxxx;
您可以使用自定义单元格,您可以在其中定义自定义属性的属性。文本标签的大小不固定。我认为这就是对齐不起作用的原因。