Изменение размеров нескольких изображений с ориентацией - PullRequest
1 голос
/ 31 января 2012

Я нахожусь в процессе создания универсального приложения для iOS, которое, помимо других функций, позволяет пользователю создавать UIImageViews на ощупь.

Проблема, с которой я сталкиваюсь, заключается в том, что при повороте устройства размеры создаваемых представлений изменяются неправильно .

Я поместил код в метод основного контроллера, как показано:

-(void)touchesBegan:(NSSet*)touches withEvent:(UIEvent *)event
{
 //first part - creating the frame

 view = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"MyImage.png"]];
 view.frame = CGRectMake(50, 50, 100, 100);
 [self.view addSubview:view];

 //second part - triggering image placement on touch

 UITouch *touch = [[event allTouches] anyObject];
 view.center = [touch locationInView:self.view];
}

Кто-нибудь знает, каким образом я могу реализовать метод автоматического изменения размера для динамически создаваемых представлений?

Эффект, который я ищу, заключается в следующем: вместо изображений, использующих старые портретные координаты, они каким-то образом изменяют размер с изменением ориентации на ландшафт, так что все они видны в положениях, которые относительно портретных.

Если бы я использовал конструктор интерфейсов, это было бы достаточно просто, но я не могу найти очевидного решения, когда делаю это программно.

Это не так просто, как вернуть YES для shouldAutorotateToInterfaceOrientation.

Я проверил много ресурсов вопросов / ответов для разработки под iOS, и, похоже, не многие из решений сосредоточены на динамически создаваемых UIImageViews и фреймах, как в моем примере.

Я был бы чрезвычайно признателен, если бы кто-нибудь нашел время, чтобы предложить мне решение, или даже просто указал мне правильное направление.

Заранее спасибо,

Рори

1 Ответ

2 голосов
/ 31 января 2012

установить маску автоматического изменения размера соответственно, каждый UIView имеет свойство UIViewAutoresizing

view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
...