Подтвердить что ты не робот

Как установить динамическую ширину и высоту представления в автозапуск в iOS?

У меня есть UIView в моем супер-представлении. Я установил для него некоторые ограничения. Теперь я хочу, чтобы размер представления должен отличаться на разных устройствах. Если я устанавливаю ширину и высоту исправления, я получаю неправильный результат. попробовали соотношение сторон пользователя, но это делает слишком большим или слишком большим представление на нескольких устройствах.

Я хочу, чтобы высота и ширина увеличивались в равной пропорции, чтобы он выглядел одинаково на всех устройствах. Я хочу иметь гибкую высоту и ширину представления. Пожалуйста, расскажите, как это сделать?

Вот изображение  enter image description here

Спасибо в Advance

4b9b3361

Ответ 2

enter image description here Самый простой способ - создать 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;
}

 }

Ответ 3

Попробуйте выполнить снимки экрана, как показано ниже:

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

Вы получите результат ниже

enter image description here

Ответ 4

Я написал блог статью об автозапуске для динамически изменяющихся макетов.
Для каждого размера экрана вы можете программно добавлять ограничения.
Алгоритм

  • Получить текущий размер устройства
  • Получить требуемые ограничения в соответствии с размером устройства
  • Затем программным образом добавьте ограничения


Изменение в соответствии с ориентацией

  • Слушайте оповещение UIDeviceOrientationDidChangeNotification
  • Добавить новые ограничения в соответствии с уведомлением
  • Затем вызовите setNeedsUpdateConstraints
    Для получения дополнительной информации и кода примера просмотрите статью в блоге и this github repo