Wednesday 15 July 2015

ios - How to rotate a UITextView without it resizing? -



ios - How to rotate a UITextView without it resizing? -

i trying rotate uitextview in vc. when seek rotate uitextview resizes its?

here code.

- (void)viewdidload { [super viewdidload]; self.edgesforextendedlayout = uirectedgenone; self.title = @"signature view"; [self.signatureview setlinewidth:2.0]; self.signatureview.foregroundlinecolor = [uicolor colorwithred:0.204 green:0.596 blue:0.859 alpha:1.000]; nslog(@"contentsize: %.0f, %.0f", self.view.frame.size.width, self.view.frame.size.height); <-- (contentsize: 320, 568) self.howtotextview.frame = cgrectmake(0, 0, self.view.frame.size.height, self.view.frame.size.width); [self.howtotextview setneedsdisplay]; <-- create redraw [self.howtotextview settransform:cgaffinetransformmakerotation(-90* m_pi/180)]; nslog(@"contentsize: %.0f, %.0f", self.howtotextview.contentsize.width, self.howtotextview.contentsize.height); <--- turns out (contentsize: 103, 138)same on storyboard design }

update(with code uitextview in place , frame right, not text won't resize fill uitextviews new frame size. stuck downwards in bottom corner?):

- (void)viewdidload { [super viewdidload]; self.edgesforextendedlayout = uirectedgenone; self.title = @"signature view"; [self.signatureview setlinewidth:2.0]; self.signatureview.foregroundlinecolor = [uicolor colorwithred:0.204 green:0.596 blue:0.859 alpha:1.000]; nslog(@"contentsize: %.0f, %.0f", self.view.frame.size.width, self.view.frame.size.height); self.howtotextview = [[uitextview alloc] init]; self.howtotextview.backgroundcolor = [uicolor redcolor]; self.howtotextview.text = @"this day. going create millions today. smiling while on phone best way increment business. hope app have work hard on it. please sign name or decline if decline understand lose coverage."; [self.view addsubview:self.howtotextview]; [self.howtotextview settransform:cgaffinetransformmakerotation(-90* m_pi/180)]; self.howtotextview.frame = cgrectmake(0, 0, 80, self.view.frame.size.height); [self.howtotextview setneedsdisplay]; nslog(@"contentsize: %.0f, %.0f", self.howtotextview.contentsize.width, self.howtotextview.contentsize.height); }

update 2: sticking textview within uiview makes content size right, code uitextview/uiview in top right corner of app, though set them both 0,0 x,y? not sure why is?

self.howtotextview = [[uitextview alloc] init]; [self.howtotextview setframe:cgrectmake(0, 0, self.view.frame.size.height-20, 110)]; self.howtotextview.backgroundcolor = [uicolor redcolor]; self.howtotextview.text = @"this day. going create millions today. smiling while on phone best way increment business. hope app have work hard on it. please sign name or decline if decline understand lose coverage."; uiview *myrotateview = [[uiview alloc] init]; [myrotateview setframe:cgrectmake(0, 0, self.view.frame.size.height, 120)]; [myrotateview setbackgroundcolor:[uicolor greencolor]]; [myrotateview addsubview:self.howtotextview]; myrotateview.transform = cgaffinetransformmakerotation(-90* m_pi/180); [[self view] addsubview:myrotateview];

after 2 days of struggling, found workaround:

create uiview. add uitextview sub view it. get proper size of uitextview, using sizethatfits(). set uitextview frame. set uiview frame 0 heigh , 0 width (it's important!). rotate uiview.

now if want alter font size this:

mytextview.font = uifont.boldsystemfontofsize(size) allow maxsize = cgsizemake(screen_width, screen_height) allow frame = mytextview.sizethatfits(maxsize) mytextview.frame = cgrectmake(0, 0, frame.width, frame.height)

at end rotate uiview again.

ios uitextview

No comments:

Post a Comment