как пример. Obvisously Есть много вещей, которые вы должны настроить, но я думаю, что это хорошая точка старта:
.h файл:
#import <UIKit/UIKit.h>
@interface OKCustomFiveLabelsTableViewCell : UITableViewCell
// Here is the place to send through the tableViewDelegate all info about the cell.
@property (nonatomic, strong) NSDictionary *dictInfo;
@end
.m файл
#import "OKCustomFiveLabelsTableViewCell.h"
#define FIRST_LABEL_PERCENT 0.15
#define SECOND_LABEL_PERCENT 0.3
#define THIRD_LABEL_PERCENT 0.2
#define FOURTH_LABEL_PERCENT 0.2
#define FIFTH_LABEL_PERCENT 0.15
//the sum of this five must be 1
@interface OKCustomFiveLabelsTableViewCell()
@property (nonatomic, strong) UILabel *firstLabel;
@property (nonatomic, strong) UILabel *secondLabel;
@property (nonatomic, strong) UILabel *thirdLabel;
@property (nonatomic, strong) UILabel *fourthLabel;
@property (nonatomic, strong) UILabel *fifthLabel;
@end
@implementation OKCustomFiveLabelsTableViewCell
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
CGFloat width = [UIScreen mainScreen].bounds.size.width;
self.firstLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 5, width *FIRST_LABEL_PERCENT, 25)];
//Configure here your label
// It´s good idea Use: NSTextAlignamentCenter
[self.contentView addSubview:self.firstLabel];
self.secondLabel= [[UILabel alloc] initWithFrame:CGRectMake(width *FIRST_LABEL_PERCENT, 5, width *SECOND_LABEL_PERCENT, 25)];
//Configure here your label
[self.contentView addSubview:self.secondLabel];
self.thirdLabel= [[UILabel alloc] initWithFrame:CGRectMake(width *(FIRST_LABEL_PERCENT + SECOND_LABEL_PERCENT), 5, width *THIRD_LABEL_PERCENT, 25)];
//Configure here your label
[self.contentView addSubview:self.thirdLabel];
self.fourthLabel= [[UILabel alloc] initWithFrame:CGRectMake(width *(FIRST_LABEL_PERCENT + SECOND_LABEL_PERCENT+THIRD_LABEL_PERCENT), 5, width *FOURTH_LABEL_PERCENT, 25)];
//Configure here your label
[self.contentView addSubview:self.fourthLabel];
self.fifthLabel= [[UILabel alloc] initWithFrame:CGRectMake(width *(FIRST_LABEL_PERCENT + SECOND_LABEL_PERCENT+THIRD_LABEL_PERCENT+FOURTH_LABEL_PERCENT), 5, width *FIFTH_LABEL_PERCENT, 25)];
//Configure here your label
[self.contentView addSubview:self.fifthLabel];
}
return self;
}
-(void)setDictInfo:(NSDictionary *)dictInfo
{
self.fifthLabel.text = [dictInfo valueForKey:@"identyNumber"];
self.secondLabel.text = [dictInfo valueForKey:@"name"];
self.thirdLabel.text = [dictInfo valueForKey:@"amount"];
self.fourthLabel.text = [dictInfo valueForKey:@"time"];
self.fifthLabel.text = [dictInfo valueForKey:@"type"];
_dictInfo = dictInfo;
}
@end
Вы, возможно, потребуется написать методы для если вы хотите работать в портретном и ландшафтном дизайне. (Повернуть). Но это тот же код в методах вращения.
Как вы размещаете этикетки? Не могли бы вы разместить какой-то код? –
Лучший способ сделать это - использовать пользовательскую ячейку таблицы. –
Я вижу, что вы получаете много ответов, но я подозреваю, что существует проблема с тем, как вы выравниваете свои ярлыки, которые можно восстановить с помощью простого исправления. Я бы рекомендовал код публикации, прежде чем исследовать различные проспекты ... –