ios - UILabel rotationGesture programmatically -


i have uilabel created programmatically. i'm able rotate after going through few tutorials using uirotationgesturerecognizer, problem is, when re-size font size using slider, label moves out of screen. help? please, check sample code below,

problem: when move slider created using ib, label changes accordingly, after using uirotationgesture(i.e making label vertical or that), when move slider, label runs off screen..please try out below code, understand problem easily.

edited code make easier understand.

.h file

@interface viewcontroller : uiviewcontroller {     uilabel *label;      uitouch *touch;      iboutlet uislider *fontsizeslider;  }  -(ibaction)fontsizevaluechanged:(id)sender;  @end 

.m file

- (void)viewdidload {     [super viewdidload];     // additional setup after loading view, typically nib.     label = [[uilabel alloc] initwithframe:cgrectmake(0, 50, 180, 50)];     // stuff      [label settext:@"begining of end"];      label.textalignment=uitextalignmentcenter;      label.numberoflines=1;       //label.userinteractionenabled=yes;      [self.view addsubview:label];      uirotationgesturerecognizer *rotationgesture = [[uirotationgesturerecognizer alloc]initwithtarget:self action:@selector(handlerotate:)];      [self.view addgesturerecognizer:rotationgesture];  }  -(void)handlerotate:(uirotationgesturerecognizer *) rotationgesture {     //nslog(@"handlerotate");      cgfloat angle = rotationgesture.rotation;      label.transform = cgaffinetransformrotate(label.transform, angle);      rotationgesture.rotation = 0.0; }  -(ibaction)fontsizevaluechanged:(id)sender {      label.font = [uifont systemfontofsize:fontsizeslider.value];      label.linebreakmode = uilinebreakmodewordwrap;      //[self.view addsubview:label];      cgsize expectedlabelsize = [label.text sizewithfont:label.font                                                     constrainedtosize:label.frame.size                                                        linebreakmode:uilinebreakmodewordwrap];       cgrect newframe = label.frame;      newframe.size.width=650;      newframe.size.height = expectedlabelsize.height;      label.frame = newframe;      label.numberoflines = 0;      [label sizetofit];      //label.frame = cgrectmake(label.frame.origin.x, label.frame.origin.y, label.frame.size.width, newframe.size.height);  } 


Comments

Popular posts from this blog

node.js - Bad Request - node js ajax post -

Why does Ruby on Rails generate add a blank line to the end of a file? -

keyboard - Smiles and long press feature in Android -