2014-01-30 4 views
3

Я использовал цикл для создания динамического UIView. Но я не мог создать UIView в соответствии размер UILabel любезно помочь мне, как я мог делать дальше продолжить .. нужна ваша помощь .. Я буду признателенКак настроить/установить размер UIView в соответствии с содержимым UILabel

for(NSString *item in myArray) 
{ 
    length = item.length; 
    self.custom=[[CustomView alloc]init]; 
    self.custom.Label = [[UILabel alloc]initWithFrame:CGRectMake(40, yAxis, 100+item.length, 44)]; 
    [self.custom setFrame:self.custom.Label.frame]; 

    [self.custom sizeToFit]; 

    yAxis=yAxis+50; 

    self.custom.tag=200+a; 
    a++; 

    [newViews addObject:self.custom]; 
    length = item.length; 

    self.custom.Label = [[UILabel alloc]initWithFrame:CGRectMake(5,5,length+20,40)]; 

    self.custom.button=[[UIButton alloc]initWithFrame:CGRectMake(85,10,12,10)]; 

    [self.custom.Label setText:item]; 

    // Tell the label to use an unlimited number of lines 
    [self.custom.Label setNumberOfLines:1]; 
    [self.custom.Label sizeToFit]; 
    self.custom.Label.textAlignment = UITextAlignmentCenter; 

    ![this is image i have created uiview according the array values where uilabel more width than uiview so i need to set uiview according the uilabel][1] 

    UIImage *btnImage = [UIImage imageNamed:@"button_droparrow.png"]; 
    [self.custom.button setImage:btnImage forState:UIControlStateNormal]; 
    [self.custom.button addTarget:self 
          action:@selector(buttonPressed:)forControlEvents:UIControlEventTouchDown]; 

    self.custom.button.tag=self.custom.button.tag+a; 
    self.custom.backgroundColor=[UIColor greenColor]; 
    custom.Label.text=item; 
    custom.Label.backgroundColor = [UIColor yellowColor]; 
    [self.custom addSubview:self.custom.button]; 
    [self.custom addSubview:custom.Label]; 
    // [self.custom addSubview:cv]; 

    [self.view addSubview:self.custom]; 
} 

ответ

0

Вы можете получить размер основанный на UILabel контента, используя следующие код.

NSString * countString = aLbl.text; 
CGSize s = [countString sizeWithFont:[UIFont fontWithName:@"Helvetica-Light" size:12] constrainedToSize:CGSizeMake(100, MAXFLOAT) lineBreakMode:NSLineBreakByWordWrapping]; 

И изменить размер каких-либо взглядов, используя следующий код

CGRect rect = aView.frame; 
rect.size.width = s.width; 
rect.size.height = s.height; 
aView.frame = rect; 
+0

я попытался это, но не работает –

+0

репост ваш выход поместить изображение –

+0

Мой счет меньше, чем 10, так что я мог связать изображение –

0

размер пытаются втиснуть на этикетке или вид

[yourlabel sizeToFit]; 

или

[yourview sizeToFit]; 
+0

дорогая это не работа ... любое другое решение? –

-1

Изменить setNumberOfLines: 0 и запустите приложение. Надеюсь, это поможет вам. И я прошу вас, если это поможет вам, пожалуйста, проголосовать за меня.

[self.custom.Label setNumberOfLines:0]; 

self.custom.Label.text = @"xyz................."; 
[self.custom.Label sizeToFit]; 
Смежные вопросы