Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can i increase the button width dynamically depends on the text size in iphone?

I have created 10 buttons programmatically and set the titles in the button. Now i want to increase the button frame size dynamically,its depends on the text.

I given some conditions and set the frame size. but how can i set the exact frame size depends on the text(get the text dynamically).

Here my sample code is,

     float x=0, y=0, w, h=20;

    for(int i = 100; i < 110; i++)
     {
         btn = [[UIButton buttonWithType:UIButtonTypeRoundedRect] retain];

         UIImage * img = [UIImage imageNamed:@"Round_Rect4.png"];

        [btn setBackgroundImage:img forState:UIControlStateSelected];

        titleString = [titleArray objectAtIndex:i-100];  // get button title

        if([titleString length] <= 5)
        {
            w = 50;
            btn.frame = CGRectMake(x,y,w,h); 

            x = x + 70;
        }

        if (([titleString length] >= 6) && ([titleString length] <=10))
       {
             w = 70;

             btn.frame = CGRectMake(x,y,w,h); 

             x = x + 90;
       } 

       if(([titleString length] >= 11) && ([titleString length] <=15))
       {
             w = 105;
             btn.frame = CGRectMake(x,y,w,h); 

             x = x + 120;

       }

       if([titleString length] >= 16)
       {
             w = 120;
             btn.frame = CGRectMake(x,y,w,h); 

             x = x + 140;

       }

        [btn setTitle:titleString forState: UIControlStateNormal];

        [btn setTag:i];

        [self.view addSubview:btn];

}

see the example image,

image-2 http://www.freeimagehosting.net/uploads/b6e0f234dc.png image-1 http://www.freeimagehosting.net/uploads/6b3daab12f.png

So is this possible to set the exact button frame size which depends on the text?, plz guide me.

Thanks

like image 449
Pugalmuni Avatar asked Nov 28 '22 04:11

Pugalmuni


1 Answers

[btn sizeToFit]
like image 118
tc. Avatar answered Dec 09 '22 14:12

tc.