Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to resize a UISwitch?

I have made a custom UISwitch (from this post). But the problem is, my custom texts are a bit long. Is there any way to resize the switch? [I tried setBounds, did not work]

Edit:

Here is the code I used:

@interface CustomUISwitch : UISwitch     - (void) setLeftLabelText: (NSString *) labelText; - (void) setRightLabelText: (NSString *) labelText;     @end  @implementation CustomUISwitch  - (UIView *) slider  {      return [[self subviews] lastObject];  } - (UIView *) textHolder  {      return [[[self slider] subviews] objectAtIndex:2];  } - (UILabel *) leftLabel  {      return [[[self textHolder] subviews] objectAtIndex:0];  } - (UILabel *) rightLabel  {      return [[[self textHolder] subviews] objectAtIndex:1];  } - (void) setLeftLabelText: (NSString *) labelText  {      [[self leftLabel] setText:labelText];  } - (void) setRightLabelText: (NSString *) labelText  {      [[self rightLabel] setText:labelText];  } @end  mySwitch = [[CustomUISwitch alloc] initWithFrame:CGRectZero];  //Tried these, but did not work //CGRect aFrame = mySwitch.frame; //aFrame.size.width = 200; //aFrame.size.height = 100; //mySwitch.frame = aFrame;  [mySwitch setLeftLabelText: @"longValue1"]; [mySwitch setRightLabelText: @"longValue2"]; 
like image 391
mshsayem Avatar asked Jun 01 '10 11:06

mshsayem


1 Answers

The simplest way is to resize it, as a view:

 UISwitch *mySwitch = [[UISwitch alloc] init];  mySwitch.transform = CGAffineTransformMakeScale(0.75, 0.75); 

and you don't have to care about anything else!

like image 53
mxg Avatar answered Sep 29 '22 12:09

mxg