-1

次のような3つの文字列変数に含まれるtext(dynamic)を表示する必要があります。

SanFransisco、California 32122 ie city、state zipCode

そこで、3つのラベルで表示することを考えましたが、sizetoFitを使用する場合と使用しない場合がわかりませんでした。それがそのような大きなテキストである場合、私はそれを次のようBrightWood Park,District of Columbia 32123に取得しBrightWood Park,District of Columbます。シミュレータでzipCodeの部分を見ることができませんでした。したがって、テキストが何であれ、シミュレータに表示されるはずです。

都市のテキストが次のように大きい場合は、次のようMassachusetts Avenue Heights,District of Columbia 32123に表示する必要がありますMassachusetts Avenue Heights,District of

                                                Columbia   32123

現在、私はMassachusetts Avenue Heights,District of Co

NSString *city=[NSString stringWithFormat:@"%@,",self.city];
 CGSize constraint4 = CGSizeMake(250, 2000.0f);
 CGSize size4=[city sizeWithFont:[UIFont fontWithName:@"Helvetica-Bold" size:12] constrainedToSize:constraint4 lineBreakMode:UILineBreakModeWordWrap];
 lblCity=[[UILabel alloc] init];
 [lblCity setFrame:CGRectMake(60,Lane1.frame.size.height+Lane1.frame.origin.y,size4.width,size4.height) ];
 lblCity.textAlignment=UITextAlignmentLeft;
 lblCity.backgroundColor=[UIColor clearColor];
 lblCity.text=[NSString stringWithFormat:@"%@",city];
 [lblCity setNumberOfLines:0];
 lblCity.highlightedTextColor=[UIColor greenColor];
 [lblCity setFont:[UIFont fontWithName:@"Helvetica-Bold" size:12]];
 [testscroll addSubview: lblCity];


  NSString *state=[NSString stringWithFormat:@"%@ ",self.state];
  CGSize constraint5 = CGSizeMake(250, 2000.0f);
  CGSize size5=[state sizeWithFont:[UIFont fontWithName:@"Helvetica-Bold" size:12] constrainedToSize:constraint5 lineBreakMode:UILineBreakModeWordWrap];
  lblState=[[UILabel alloc] init];
  [lblState setFrame:CGRectMake(lblCity.frame.origin.x+lblCity.frame.size.width,Lane1.frame.size.height+Lane1.frame.origin.y,size5.width,size5.height) ];
  lblState.textAlignment=UITextAlignmentLeft;
  lblState.backgroundColor=[UIColor clearColor];
  lblState.text=[NSString stringWithFormat:@"%@" ,state];
  [lblState setNumberOfLines:0];
   lblState.highlightedTextColor=[UIColor greenColor];
   [lblState setFont:[UIFont fontWithName:@"Helvetica-Bold" size:12]];
   [testscroll addSubview: lblState];

   NSString *zip=[NSString stringWithFormat:@"%@",self.zip];
   CGSize constraint200=CGSizeMake(250,2000.0f);
   CGSize size200=[zip sizeWithFont:[UIFont fontWithName:@"Helvetica-Bold" size:12]constrainedToSize:constraint200 lineBreakMode:UILineBreakModeWordWrap ];
    zipCode=[[UILabel alloc] init];
   [zipCode setFrame:CGRectMake(lblState.frame.origin.x+lblState.frame.size.width,Lane1.frame.size.height+Lane1.frame.origin.y,size200.width,size200.height) ];
    zipCode.textAlignment=UITextAlignmentLeft;
    zipCode.backgroundColor=[UIColor clearColor];
    zipCode.text=[NSString stringWithFormat:@"%@" ,zip];
    [zipCode setNumberOfLines:0];
    zipCode.highlightedTextColor=[UIColor greenColor];
    [zipCode setFont:[UIFont fontWithName:@"Helvetica-Bold" size:12]];
    [testscroll addSubview:zipCode];

2. numberofLines = 0に沿ってsizetoFitを使用する場合と使用しない場合は?

4

2 に答える 2

0

autofit を作成するには、いくつかの重要なポイントがありますUILabel

  • 最初に、ラベルの高さをゼロに設定する必要があります

  • 次に、ラベルnumberOfLinesもゼロに設定する必要があります

  • そして最後にsizeToFitメソッドを呼び出す必要があります

このような:

label.frame = CGRectMake(x, y, width, 0.0f);
label.numberOfLines = 0;
[label sizeToFit];
于 2013-01-28T15:45:17.717 に答える
0

文字列を取得したら、次のUILabelようにサイズを設定します

lblCity.text=[NSString stringWithFormat:@"%@",city];
 [lblCity setNumberOfLines:0];
 [lblCity setFrame:CGRectMake(60,Lane1.frame.size.height+Lane1.frame.origin.y,size4.width,size4.height) ];
[lblCity sizeToFit]; it may be work

///ここで私は正常に動作し、テキスト全体を表示することをテストしました

NSString *city=@"Orlando ";
    CGSize constraint4 = CGSizeMake(250, 2000.0f);
    CGSize size4=[city sizeWithFont:[UIFont fontWithName:@"Helvetica-Bold" size:12] constrainedToSize:constraint4 lineBreakMode:UILineBreakModeWordWrap];
    NSLog(@"size4.width %f height %f ",size4.width,size4.height);
   UILabel* lblCity=[[UILabel alloc] init];
    [lblCity setFrame:CGRectMake(160,16,size4.width,size4.height) ];
    lblCity.textAlignment=UITextAlignmentLeft;
    lblCity.backgroundColor=[UIColor clearColor];
    lblCity.text=[NSString stringWithFormat:@"%@",city];
    [lblCity setNumberOfLines:0];
    lblCity.highlightedTextColor=[UIColor greenColor];
    [lblCity setFont:[UIFont fontWithName:@"Helvetica-Bold" size:12]];
     [lblCity sizeToFit];
    [self.view addSubview: lblCity];
于 2013-01-29T05:00:26.403 に答える