У меня есть приложение ipad, использующее раскадровки, которые выложены в ландшафтном режиме. Все ярлыки и образы просматриваются в раскадровке. Он отлично смотрится в ландшафтном режиме, но как только планшет повернут, ipad перерисовывает виджеты, используя параметры ландшафтного экрана, а не портретные режимы. Как заставить виджеты перерисовывать, когда они находятся в правильном режиме?Виджеты и вращение экрана в IOS
0
A
ответ
0
Вы можете использовать автоматическое изменение размера, чтобы перерисовать свой вид в режиме Portait.
Или
Вы можете использовать interfaceOrientation
, чтобы установить точное положение взглядов, не выровненные в режиме Portait что-то вроде кода ниже
Примечания: Изменение Widgets кадра только если это неприлично.
Учитесь позиционировать свои взгляды, используя автоматическое изменение размера ..., которое более ценится.
Анимация, чтобы иметь хорошую ориентацию.
Для ИОС 6 используют - (BOOL) shouldAutorotate
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
if (interfaceOrientation == UIInterfaceOrientationPortrait||
interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown)
{
//Code
dispatch_async(dispatch_get_main_queue(), ^{
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.5];
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
_btn1.frame = CGRectMake(190, 270, 137, 240);
_btn2.frame = CGRectMake(440, 270, 137, 240);
_btn3.frame = CGRectMake(300, 40, 137, 240);
[UIView commitAnimations];
});
}
else if (interfaceOrientation == UIInterfaceOrientationLandscapeRight||
interfaceOrientation == UIInterfaceOrientationLandscapeLeft)
{
dispatch_async(dispatch_get_main_queue(), ^{
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.5];
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
_btn1.frame = CGRectMake(250, 180, 137, 240);
_btn2.frame = CGRectMake(640, 180, 137, 240);
_btn3.frame = CGRectMake(440, 40, 137, 240);
[UIView commitAnimations];
});
//Code
}
return YES;
}
Смежные вопросы
- 1. Вращение экрана в iOS
- 2. разрешение экрана и виджеты
- 3. Вращение экрана iOS ухудшилось при видимости теней
- 4. TabHost в FragmentActivity и вращение экрана
- 5. Вращение экрана блокировки Android
- 6. Вращение остановки просмотра в iOS
- 7. Вращение экрана Android ViewPager
- 8. Вращение экрана Live Wallpaper
- 9. Windows Mobile Вращение экрана
- 10. Вращение экрана Android, ACCELEROMETER_ROTATION
- 11. Вращение экрана RuntimeError
- 12. Виджеты для домашнего экрана Android
- 13. Установить виджеты главного экрана progrommaticly
- 14. iOS пользовательские переходы и вращение
- 15. Вращение изображения в iOS
- 16. Вращение в iOS 8
- 17. Вращение устройства в ios
- 18. Открыть приложение Виджеты экрана Android
- 19. iOS 7's canDisplayBannerAds и вращение?
- 20. Несколько фрагментов, setRetainInstance (true) и вращение экрана
- 21. Вращение экрана и отзывчивость с помощью бутстрапа
- 22. Three.js вращение вектора и обнаружение края экрана
- 23. Размеры экрана и размеры экрана в iOS
- 24. Деактивировать автоматическое вращение экрана временно
- 25. Вращение экрана при воспроизведении видео
- 26. Вращение экрана с использованием Display.getRotation()
- 27. Вращение экрана на основе взгляда
- 28. Вращение экрана Android ... сохранить состояние
- 29. Вращение экрана на Pocket PC
- 30. RE: Вращение экрана Live Wallpaper
Я не понимаю. Какой смысл использовать раскадровки и ограничения, если пользовательский интерфейс требует специального кода для обработки вращения экрана? Я искал «автоматическое изменение размера», но это похоже только на ios 6 (я использую ios7). Я думаю, может быть, это для AutoLayout? – wufoo