У меня есть вид в контроллере панели вкладок с UIImageView и UILabel. У меня есть UILabel, поэтому текст появится внутри сердца в UIImageView. В представлении изображения отображается весь вид. Я использую AutoLayout, чтобы разместить все, и чтобы он растягивал изображение, чтобы заполнить весь экран при повороте, но у меня возникают проблемы с получением UILabel, где я хочу.AutoLayout Не работает на UILabel
Я попытался прикрепить верхнюю часть к SuperView, но это приводит к тому, что UILabel будет слишком низким, а привязка к нижней части выталкивает UILabel вне поля зрения при повороте. Вот изображение, показывающее первое.
UPDATE: Я попытался следующий код, но безрезультатно:
-(void) willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
if (toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft) {
NSLog(@"Landscape left");
label1.frame = CGRectMake(29, 20, 509, 142);
[label1 setFrame:CGRectMake(29, 20, 509, 142)];
} else if (toInterfaceOrientation == UIInterfaceOrientationLandscapeRight) {
NSLog(@"Landscape right");
label1.frame = CGRectMake(29, 20, 509, 142);
[label1 setFrame:CGRectMake(29, 20, 509, 142)];
} else if (toInterfaceOrientation == UIInterfaceOrientationPortrait) {
NSLog(@"Portrait");
[label1 setFrame:CGRectMake(29, 77, 61, 142)];
}
}
Я пробовал это, но на 'self.view addConstraint' Я получаю метод класса для topConstraintForView не найден. – user717452
@ user717452, вам нужно будет добавить категорию, чтобы сделать это так, как я. Я обновил свой ответ, чтобы показать вам, как это сделать, не добавляя категорию. – rdelmar
Блестящий! Спасибо вам за это! – user717452