Ответ 1
Используйте классы размера. Это помогает иметь разные настройки для разных устройств. http://www.raywenderlich.com/83276/beginning-adaptive-layout-tutorial https://youtu.be/IwSTXY0awng?t=2m12s
У меня есть UIView в моем супер-представлении. Я установил для него некоторые ограничения. Теперь я хочу, чтобы размер представления должен отличаться на разных устройствах. Если я устанавливаю ширину и высоту исправления, я получаю неправильный результат. попробовали соотношение сторон пользователя, но это делает слишком большим или слишком большим представление на нескольких устройствах.
Я хочу, чтобы высота и ширина увеличивались в равной пропорции, чтобы он выглядел одинаково на всех устройствах. Я хочу иметь гибкую высоту и ширину представления. Пожалуйста, расскажите, как это сделать?
Вот изображение
Спасибо в Advance
Используйте классы размера. Это помогает иметь разные настройки для разных устройств. http://www.raywenderlich.com/83276/beginning-adaptive-layout-tutorial https://youtu.be/IwSTXY0awng?t=2m12s
Самый простой способ - создать Outlet из ваших ограничений
width
и height
.
Затем динамически измените его в viewDidLoad
в соответствии с телефоном.
Чтобы проверить, на каком телефоне он может проверить высоту устройства, например 480
для iPhone 4S, 568
для iPhone 5,5S и т.д.
@interface ScoreListViewController (){
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *widthConstraint;
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *heightConstraint;
@end
- (void)viewDidLoad {
[super viewDidLoad];
// Set the value according to your requirement
if(4S){
self.heightConstraint.constant=100;
}
}
Попробуйте выполнить снимки экрана, как показано ниже:
Вы получите результат ниже
Я написал блог статью об автозапуске для динамически изменяющихся макетов.
Для каждого размера экрана вы можете программно добавлять ограничения.
Алгоритм
Изменение в соответствии с ориентацией