+7 771 559 26 76

Статьи Swift

Установить ограничения(constraint) программно, через код - Swift 5


//1. Создаём объект
let newView = UIView()

//2. Устанавливаем ему цвет и другие параметры
newView.backgroundColor = UIColor.red

//3. Добавляем его (newView) на наше основное View
view.addSubview(newView)

//4. Отключаем constraint перед установкой своих
newView. translatesAutoresizingMaskIntoConstraints = false

//5. Устанавливаем constraint
//Сверху
let topAnchor = newView.topAnchor.constraint(equalTo: view.topAnchor, constant: 50)

//Снизу
let bottomAnchor = newView.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: -10)

//Слева
let leftAnchor = newView.leftAnchor.constraint(equalTo: view.leftAnchor, constant: 20)

//Справа
let rightAnchor = newView.rightAnchor.constraint(equalTo: view.rightAnchor, constant: -30)

Так же вы можете установить ширину и высоту
//Высота
let heightAnchor = newView.heightAnchor.constraint(equalTo: view.heightAnchor, constant: 20)

//Ширина
let widthAnchor = newView.widthAnchor.constraint(equalTo: view.widthAnchor, constant: 200)

//6. Важно! Активируйте все constraint
NSLayoutConstraint.activate([topAnchor, bottomAnchor, leftAnchor, rightAnchor])

Определить модель iPhone по размеру экрана - Swift 5


if UIDevice().userInterfaceIdiom == .phone {
switch UIScreen.main.nativeBounds.height {
case 1136:
print("iPhone 5 or 5S or 5C")

case 1334:
print("iPhone 6/6S/7/8")

case 1920, 2208:
print("iPhone 6+/6S+/7+/8+")

case 2436:
print("iPhone X/XS/11 Pro")

case 2688:
print("iPhone XS Max/11 Pro Max")

case 1792:
print("iPhone XR/ 11 ")

default:
print(Unknown")
}
}

Анимация при нажатии на ячейку в TableView cell - Swift 5


// Когда ячейка нажата
override func tableView(_ tableView: UITableView, didHighlightRowAt indexPath: IndexPath) {
// Опциональная привязка, проверка на nil
// TableViewCellForService – это ваш класс
if let cell = tableView.cellForRow(at: indexPath) as? TableViewCellForService {
UIView.animate(withDuration: 0.2) {
cell.viewForService.alpha = 0.4
}}}

// Когда ячейка отжата
override func tableView(_ tableView: UITableView, didUnhighlightRowAt indexPath: IndexPath) {
// Опциональная привязка, проверка на nil
// TableViewCellForService – это ваш класс
if let cell = tableView.cellForRow(at: indexPath) as? TableViewCellForService {
UIView.animate(withDuration: 0.2) {
cell.viewForService.alpha = 1
}}}

Сделаем лучше, чем у ваших конкурентов

Остались вопросы? Нужна консультация?
Оставьте ваши данные, и наш менеджер с вами свяжеться.