View transformations are something you might wanna need to learn more about. While rethinking the iPad interface for his UTC Chart app, it occurred to mluton to use vertical labels. After a bit of research this is what he came up with.
- (void)viewDidLoad
{
[super viewDidLoad];
NSString *string = @"Lorem Ipsum";
UIFont *font = [UIFont preferredFontForTextStyle:UIFontTextStyleHeadline];
UILabel *label = [[UILabel alloc] init];
label.font = font;
label.text = string;
CGSize size = [string sizeWithAttributes:@{NSFontAttributeName:font}];
label.frame = CGRectMake(40, 40, size.width, size.height);
[label.layer setAnchorPoint:CGPointMake(0.0, 0.0)];
label.transform = CGAffineTransformMakeRotation((M_PI) / 2);
[self.view addSubview:label];
}
The frame
and setAnchorPoint
values can be modified
to achieve desired positioning. He chose to bypass any potential
autolayout/transform conflicts by creating the label programmatically and
setting the frame
and size
values myself. No
questions. No ambiguity.
The above solution and content was initially published by mluton on his own website which was left to decay and domain expiration and was recovered by projTek - an AI-powered R&D project. The GitHub repo of the original author: https://github.com/mluton
Comments