Size: a a a

2021 December 29

JW

Johhnie Walker in SwiftBook
Сейчас я использую такие конструкции, но мне кажется это не удобным / можно улучшить.

```
public extension UIDevice {
   
var isPhoneX: Bool { screenType == .iPhones_X_XS_11Pro_12MiniSimulator }
   ...

   
var isDisplayZoomed: Bool { UIScreen.main.scale < UIScreen.main.nativeScale }

   
var iPhone: Bool { UIDevice.current.userInterfaceIdiom == .phone }
   
var iPad: Bool { UIDevice.current.userInterfaceIdiom == .pad }

   
enum ScreenType: String {
       
case iPhones_5_5s_5c_SE = "iPhone 5, iPhone 5s, iPhone 5c or iPhone SE"
       ...
       
case unknown
   }
   
var screenType: ScreenType {
       
switch UIScreen.main.nativeBounds.height {
       
case 1136: return .iPhones_5_5s_5c_SE
           ...
       
default: return .unknown
       }
   }

   
func hasScreenTypes(_ types: [UIDevice.ScreenType]) -> Bool {
       types.contains(screenType)
   }
}


...

// Пример использования в констрейнтах
let titleLabelTop: CGFloat = UIDevice.current.isPhoneSE ? Inset.single.rawValue : (UIDevice.current.isDisplayZoomed ? Inset.double.rawValue : Inset.triple.rawValue)

// Пример использования в выборе подходящего шрифта из общего списка
let titleFont = FontBook.bold.of(style: UIDevice.current.isPhoneSE || UIDevice.current.isDisplayZoomed ? .title1 : .largeTitle)
```
источник

JW

Johhnie Walker in SwiftBook
Это понятно. Но я пытаюсь решить проблему подмены контента в зависимости от размеров устройства)
Если можно было бы получить каким то callback-ом, что из-за применяемых constraints сейчас label будет тримиться -> "нужно изменить label.text". Это бы решило мою задачу, но я такого не встречал)
источник

A

Alexander in SwiftBook
switch UIDevice.current.modelName {
   case Devices.IPhoneSE:
        yourLabel.text = “SE text”
   case default:
        yourLabel.text = “another text”
}

ну или size class смотри, можно попробовать скрывать ненужный лейбл исходя из этого прям в сториборде
источник

FF

Fedor Fokin in SwiftBook
Парни, отсюда безопасно xcode качать?
https://xcodereleases.com
источник

S

Sanchez in SwiftBook
Я качал, вроде все хорошо
источник

FF

Fedor Fokin in SwiftBook
Спасибо
источник

DR

Daniel Reshetnyak in SwiftBook
Качай, время покажет)
источник

S

Sanchez in SwiftBook
Всем привет, у меня при возвращении назад меняется ориентация у приложения
Не могу понять почему
источник

S

Sanchez in SwiftBook
@IBAction@IBAction func backMenuTap(_ sender: UIButton) {
       
self.dismiss(animated: false, completion: nil)
   }

Код кнопки
источник

S

Sanchez in SwiftBook
Щас проверил, у последнего приложения так же было и его пропустили в аппстор
источник

S

Sanchez in SwiftBook
Но не особо люблю такие фичи
источник

JW

Johhnie Walker in SwiftBook
Кажется нашел экземпляр книги, буду изучать.
Пока можете подсказать конкретное решение / главу в книге где я мог бы найти решение?
источник

JW

Johhnie Walker in SwiftBook
Я правильно понимаю, что автор использует NSLayout / InterfaceBuilder. Из этого вопрос - полученная в книге информация может быть корректно использована, если исторически проект сверстан на SnapKit (и это является одним из фундаментальных внутренних требований) ?
источник

АЧ

Антон Чехов... in SwiftBook
Для этого есть скейлинг текста
Проставь в процентах и делай
Есть в интерфейс билдере
источник

JW

Johhnie Walker in SwiftBook
Нет, скейлинг не подойдёт
источник

АЧ

Антон Чехов... in SwiftBook
Почему?
источник

АЧ

Антон Чехов... in SwiftBook
Сколько помню, подобные ситуации решал именно так
источник

JW

Johhnie Walker in SwiftBook
Будут значительно гайдлайны нарушены. Дизайнер не пропустит подобное.
источник

АЧ

Антон Чехов... in SwiftBook
Шото бред)
источник

АЧ

Антон Чехов... in SwiftBook
Ну я понял)))
источник