Отрегулируйте положение UIView для iPhoneX / iPad / iPhone6 ​​в выписке - PullRequest
1 голос
/ 02 апреля 2020

Обновление некоторого старого кода и исправление всего, кроме одной надоедливой кнопки внутри UIView, которая не отображается в правильном месте только на определенных устройствах.

Он отлично работает и позиционируется для всех устройств iPad и работает для iPhoneX / XS & XR

Однако для iPhone 5,5s, 6,6s, 7,8 кнопка не в правильном месте в качестве таких.

Сама позиция изображения установлена ​​следующим образом:

 #define IDIOM    UI_USER_INTERFACE_IDIOM()
#define IPAD     UIUserInterfaceIdiomPad

if ( IDIOM == IPAD ) {
     [nail5View setFrame:CGRectMake(638, 682, nail5View.frame.size.width, nail5View.frame.size.height)]; // was 358,582
} else {
[nail5View setFrame:CGRectMake(358, 582, nail5View.frame.size.width, nail5View.frame.size.height)];
}

nail5View.autoresizingMask = UIViewAutoresizingNone;
transform = CGAffineTransformMakeRotation(+0.9);
nail5View.transform = transform;

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

1 Ответ

1 голос
/ 02 апреля 2020

вы можете проверить устройство iphone 8plus или меньшую модель, как эта

#define iPhone8AndLesser ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone && [UIScreen mainScreen].bounds.size.height <= 736)

, если хотите iphone 8 и меньше, используйте 667 единиц из 736, и вы можете проверить это с помощью

if ( IDIOM == IPAD ) {
     [nail5View setFrame:CGRectMake(638, 682, nail5View.frame.size.width, nail5View.frame.size.height)]; // was 358,582
} else {
if iPhone8AndLesser{
    //Your conditions here;
}else{
  [nail5View setFrame:CGRectMake(358, 582, nail5View.frame.size.width, nail5View.frame.size.height)];
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...