Дико приятно, что автор приучивает работать с документацией. Обычно уроки такого типа "Тут можно написать так и вот так. Спасибо за просморы", а тут тебе еще и доку разжеживают! Однозначно лайк))
@@theswiftdevelopers1301 понимаю, что прошло уже 5 лет. Но я восхищен вашим курсом. Вы очень крутой. Когда пересматриваю видос, каждый раз в голове мысль: "неужели у человека так легко складываются мысли и он так налегке записал за раз это видео. " И только теперь увидел, что вы много времени тратите на это. Спасибо вам огромное за ваш труд. Для поддержания группы вк, после окончания курса постараюсь покидать свой код и записи работы всех выполненных заданий. Стараюсь стараться : )
Обновляю информацию. Блок с NotificationCenter остался неизменным с прошлого комментария. Функция updateTextView изменила свой внешний вид на следующий: @objc func updateTextView(param: Notification) { let userInfo = param.userInfo let keyboardFrameEnd = userInfo![UIResponder.keyboardFrameEndUserInfoKey] as! CGRect let keyboardFrame = self.view.convert(keyboardFrameEnd, to: view.window) if param.name == UIResponder.keyboardWillHideNotification { myTextView.contentInset = UIEdgeInsets.zero } else { myTextView.contentInset = UIEdgeInsets(top: 0, left: 0, bottom: keyboardFrame.height, right: 0) myTextView.scrollIndicatorInsets = myTextView.contentInset } myTextView.scrollRangeToVisible(myTextView.selectedRange) }
Спасибо за урок! в Swift 4.2 теперь не так просто находить имена нотификаций((( Распихали их куда только можно. Нельзя просто поставить точку после Notification.name и выбрать из списка.
myTextView.contentInset = UIEdgeInsets(top: 0, left: 0, bottom: keyboardFrame.height / 2, right: 0) так будет юзер будет видеть часть текста введенного выше
теперь записывается так:
let getKeyboardRect = (userInfo![UIResponder.keyboardFrameEndUserInfoKey] as! NSValue).cgRectValue
Создание notification observer в swift 5 xcode 13 делается так :
NotificationCenter.default.addObserver(self, selector: #selector(updateTextView), name: UIResponder.keyboardDidShowNotification, object: nil)
вместо :
NotificationCenter.default.addObserver(self, selector: #selector(updateTextView), name: NSNotification.Name.UIkeyboardDidShow, object: nil)
спасибо
❤
Спасибо большое за уроки
в Swift 4.2 NSNotification.Name.UIKeyboardDidShow перенесли в UIResponder.keyboardDidShowNotification
Victor Kushnerov спасибо
Дико приятно, что автор приучивает работать с документацией. Обычно уроки такого типа "Тут можно написать так и вот так. Спасибо за просморы", а тут тебе еще и доку разжеживают!
Однозначно лайк))
спасибо, у меня по пол дня уходит на подготовку и запись)
@@theswiftdevelopers1301 получасовой ролик за полдня?
@@stanislavsky85 , что это значит?
@@theswiftdevelopers1301 понимаю, что прошло уже 5 лет. Но я восхищен вашим курсом. Вы очень крутой. Когда пересматриваю видос, каждый раз в голове мысль: "неужели у человека так легко складываются мысли и он так налегке записал за раз это видео. "
И только теперь увидел, что вы много времени тратите на это. Спасибо вам огромное за ваш труд.
Для поддержания группы вк, после окончания курса постараюсь покидать свой код и записи работы всех выполненных заданий. Стараюсь стараться : )
Урок отличный, спасибо отдельное за мотивацию про документацию.
Благодарю за урок! ) Очередная пачка полезной информации )
Спасибо за урок! В конце очень полезная штука
Спасибо за урок, все очень доступно !
Обновляю информацию. Блок с NotificationCenter остался неизменным с прошлого комментария. Функция updateTextView изменила свой внешний вид на следующий:
@objc func updateTextView(param: Notification) {
let userInfo = param.userInfo
let keyboardFrameEnd = userInfo![UIResponder.keyboardFrameEndUserInfoKey] as! CGRect
let keyboardFrame = self.view.convert(keyboardFrameEnd, to: view.window)
if param.name == UIResponder.keyboardWillHideNotification {
myTextView.contentInset = UIEdgeInsets.zero
} else {
myTextView.contentInset = UIEdgeInsets(top: 0, left: 0, bottom: keyboardFrame.height, right: 0)
myTextView.scrollIndicatorInsets = myTextView.contentInset
}
myTextView.scrollRangeToVisible(myTextView.selectedRange)
}
для последней версии Xcode актуально UIResponder.keyboardWillHideNotification а не Notification.Name.UIKeyboardWillHide
спасибо
10x
От души)❤
Очень интересный урок!
привет!!! что то Я не могу найти страничку доки которую Вы рекомендовали почитать?
Спасибо!
неожиданно полезный урок, благодарю. Только можно было бы клоужером объявлять ui элементы , если уж программно это делать.
клоужером обьявлять UI это как?
ну типа
let textView: UITextView = {
let tv = UITextView()
tv.text = "бла бла"
tv.font = ...
return tv
}()
создание экземпляра класса приведет к утечке памяти, какой смысл этого метода вообще?
Работа с нотисами полезная )
Почему код не работает на девайсах кроме iphone 5s?
Оффтоп =) Женя, скажи как включить этот переводчик [ 25:21 ]
Отвечу за него ) это отдельное приложение. Translate Tab. Голубой ярлык и иероглифами.
Lingvanex Translator you can download on AppStore
Спасибо за урок!
в Swift 4.2 теперь не так просто находить имена нотификаций((( Распихали их куда только можно. Нельзя просто поставить точку после Notification.name и выбрать из списка.
А у меня почему то textView не возвращается обратно после того, как клавиатура убирается((
NotificationCenter.default.addObserver(self, selector: #selector(updateTextView), name: UIResponder.keyboardWillShowNotification, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(updateTextView), name: UIResponder.keyboardWillHideNotification, object: nil)
У меня не получается войти в редактирование текста ни на симуляторе, ни на реальном устройстве
myTextView.contentInset = UIEdgeInsets(top: 0, left: 0, bottom: keyboardFrame.height / 2, right: 0)
так будет юзер будет видеть часть текста введенного выше
а лучше myTextView.contentInset = UIEdgeInsets(top: 0, left: 0, bottom: keyboardFrame.height / 4, right: 0) так еще больше видно)
dAGESTAN sILA EJJEE
31:42, улыбнуло
Спасибо)
Спасибо)