ラベルと詳細テキストを含む標準のプロトタイプ セルを使用しています。詳細テキストを 2 行に設定し、テキストを改行のあるものに設定しました。これは問題なく動作しますが、(左揃えの) メイン ラベルは垂直方向の中央揃えが失われていますが、その属性は変更していません。
ストーリーボードでは次のように表示されます。
「タイトル」は垂直方向の中央に配置する必要があります。
ラベルと詳細テキストを含む標準のプロトタイプ セルを使用しています。詳細テキストを 2 行に設定し、テキストを改行のあるものに設定しました。これは問題なく動作しますが、(左揃えの) メイン ラベルは垂直方向の中央揃えが失われていますが、その属性は変更していません。
ストーリーボードでは次のように表示されます。
「タイトル」は垂直方向の中央に配置する必要があります。
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;
カスタム プロパティの属性を定義できるカスタム セルを使用できます。テキスト ラベルのサイズは固定されていません。これがアライメントがうまくいかない原因だと思います。