-(void) genResultView :(UIScrollView *) scroller mainView :(float) labelTextSize :(float) textViewTxtSize;
{
float imageViewW;
float imageViewH;
float padding;
float labelH;
float labelW;
float textViewH;
float textViewW;
float lineH = 2.0f;
float lineW;
float titleFontSize;
NSString *font = @"Georgia";
UIColor *fontColour = [UIColor whiteColor];
//make instances of objects here
leftCharacterImage = [[UIImageView alloc]init];
rightCharacterImage = [[UIImageView alloc]init];
leftNameLabel = [[UILabel alloc]init];
rightNameLabel = [[UILabel alloc]init];
leftGenderLabel = [[UILabel alloc]init];
rightGenderLabel = [[UILabel alloc]init];
leftPerType = [[UILabel alloc]init];
rightPerType = [[UILabel alloc]init];
vsLabel = [[UILabel alloc]init];
compareText = [[UILabel alloc]init];
mainView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, scroller.frame.size.width, scroller.frame.size.height)];
//Set frame & font sizes here
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
padding = 25;
imageViewH = 90;
imageViewW = 90;
textViewH = 250;
textViewW = 280;
labelH = 30;
labelW = 100;
lineW = 300;
titleFontSize = 11;
} else {
padding = 50;
imageViewH = 200;
imageViewW = 200;
textViewH = 500;
textViewW = 1000;
labelH = 30;
labelW = 200;
lineW = 700;
titleFontSize = 20;
}
//Set control sizes & locations
//set imageview frames
leftCharacterImage.frame = CGRectMake(mainView.frame.size.width/2-imageViewW/2-imageViewW, padding+lineH, imageViewW,imageViewH);
rightCharacterImage.frame = CGRectMake(mainView.frame.size.width/2-imageViewW/2+imageViewW, padding+lineH,imageViewW ,imageViewH);
//set label frames & text sizes
[vsLabel setTextAlignment:NSTextAlignmentJustified];
[vsLabel setFont:[UIFont fontWithName: @"Georgia-bold" size:titleFontSize]];
[vsLabel setTextColor:fontColour];
// vsLabel.numberOfLines = 0;
leftNameLabel.frame = CGRectMake(mainView.frame.size.width/2-labelW/2-imageViewW, padding + lineH +imageViewH,labelW ,labelH);
[leftNameLabel setFont:[UIFont fontWithName: font size:labelTextSize]];
[leftNameLabel setTextColor:fontColour];
rightNameLabel.frame = CGRectMake(mainView.frame.size.width/2-labelW+imageViewW, padding + lineH + imageViewH,labelW ,labelH);
[rightNameLabel setFont:[UIFont fontWithName: font size:labelTextSize]];
[rightNameLabel setTextColor:fontColour];
leftGenderLabel.frame = CGRectMake(mainView.frame.size.width/2-labelW/2-imageViewW, padding + lineH + imageViewH + labelH,labelW ,labelH);
[leftGenderLabel setFont:[UIFont fontWithName: font size:labelTextSize]];
[leftGenderLabel setTextColor:fontColour];
rightGenderLabel.frame = CGRectMake(mainView.frame.size.width/2-labelW+imageViewW, padding + lineH + imageViewH + labelH ,labelW ,labelH);
[rightGenderLabel setFont:[UIFont fontWithName: font size:labelTextSize]];
[rightGenderLabel setTextColor:fontColour];
leftPerType.frame = CGRectMake(mainView.frame.size.width/2-labelW/2-imageViewW, padding + lineH + imageViewH + labelH + labelH,labelW ,labelH);
[leftPerType setFont:[UIFont fontWithName: font size:labelTextSize]];
[leftPerType setTextColor:fontColour];
rightPerType.frame = CGRectMake(mainView.frame.size.width/2-labelW+imageViewW, padding + lineH + imageViewH + labelH * 2,labelW ,labelH);
[rightPerType setFont:[UIFont fontWithName: font size:labelTextSize]];
[rightPerType setTextColor:fontColour];
line2 = [[UIImageView alloc]init];
line2.frame = CGRectMake(mainView.frame.size.width/2-lineW/2, padding + lineH + imageViewH + labelH * 3 + 10, lineW,lineH);
[line2 setBackgroundColor:[UIColor whiteColor]];
[mainView addSubview:line2];
vsLabel.frame = CGRectMake(mainView.frame.size.width/2-labelW/2-imageViewW, padding + lineH + imageViewH + labelH * 3 + 25,(imageViewW + labelW *2)+10,labelH);
//set text view frame
compareText.frame = CGRectMake(mainView.frame.size.width/2-labelW/2-imageViewW, padding + imageViewH + labelH * 3 + vsLabel.frame.size.height + 50,textViewW ,textViewH);
[compareText setFont:[UIFont fontWithName: font size:textViewTxtSize]];
//
[compareText setTextColor:fontColour];
[compareText setBackgroundColor:[UIColor clearColor]];
compareText.numberOfLines = 0;
//add to mainview
[mainView addSubview:leftCharacterImage];
[mainView addSubview:rightCharacterImage];
[mainView addSubview:vsLabel];
[mainView addSubview:leftNameLabel];
[mainView addSubview:rightNameLabel];
[mainView addSubview:leftGenderLabel];
[mainView addSubview:rightGenderLabel];
[mainView addSubview:leftPerType];
[mainView addSubview:rightPerType];
[mainView addSubview:compareText];
//call compareResult
[self genCompareResult];
[tfcompareDescription boldHeadings:compareDescription :[UIFont fontWithName:@"Georgia-bold" size:20.0] :[UIFont fontWithName:@"Georgia" size:10.0]:compareText :tfcompareDescription.listOfRanges];
[compareText setTextAlignment:NSTextAlignmentJustified];
[vsLabel setText:[NSString stringWithFormat:@"Tips for %@ and %@ to work together more effectively:",characterType1,characterType2]];
[compareText sizeToFit];
[vsLabel sizeToFit];
mainView.frame = CGRectMake(mainView.frame.origin.x,mainView.frame.origin.y,mainView.frame.size.width,padding*5 + lineH + labelH*3 + compareText.frame.size.height+imageViewH);
[scroller addSubview:mainView];
}
Я просто хочу показать некоторые данные на UILabel, когда код, который он запускает, выглядит так. Я просто хочу, чтобы данные соответствовали метке пользовательского интерфейса независимо от устройства.Что я хочу сделать, так это просто сохранить постоянную линию шрифта и изменить размер этикетки в соответствии с номером строки в описании
введите описание изображения здесь