Я сделал это приложение так, как показано на изображении выше. но прокрутка не работает. Я хочу полностью опустить ScrollView.
Я задал вопрос, связанный с этим, и меня это сработало. Но мне нужно сделать какую-то функцию, а стратегия...
[*]установить виды (порядок: Метка заголовка, Метка даты, Метка изображения (опция), Метка статьи). [*]якоря соответствуют приведенному выше представлению, например: NSLayoutConstraint.activate([...topAnchor...(equalTo: overView.bottomAnchor, consrant: 20) [*]Высота scrollView и UIView(Container) будет обновлена после настройки объединения высот представлений.
Код не работает, Беллоу. Все представления настраиваются по коду.
DetailViewController.Swift
импортировать UIKit класс DetailViewController: UIViewController { частный пусть titleLabel: UILabel = { пусть просмотр = UILabel() view.numberOfLines = 2 обратный вид }() частный let dateLabel: UILabel = { пусть просмотр = UILabel() обратный вид }() частная прокрутка: UIScrollView = { пусть прокрутка = UIScrollView() прокрутка.backgroundColor = .коричневый возврат прокрутки }() частный контейнер Let: UIView = { пусть контейнер = UIView() Container.backgroundColor = .lightGray возвратный контейнер }() частное изображение: UIImageView = { пусть изображение = UIImageView() вернуть изображение }() частный контроллер Let: UIPageControl = { пусть контроллер = UIPageControl() контроллер возврата }() частный контент: UITextView = { пусть контент = UITextView() вернуть контент }() вар имя_файла: String! вар идентификатор: Строка! вар номер записи: Int! вар dataSize: Int! var запись: Вход! переопределить функцию viewDidLoad() { супер.viewDidLoad() // Выполняем любые дополнительные настройки после загрузки представления. // Получаем идентификатор содержимого и анализируем имя файла синтаксический анализFileName (идентификатор: идентификатор) добавитьПрокруткаView() Scroll.contentSize = CGSize (ширина: self.view.frame.width, высота: self.view.frame.height) добавитьTopLabels() content.text = запись. Статья // isImage имеет значение true или false addContent(isImage: вход.isImage) // Для отладки content.backgroundColor = .желтый прокрутка.updateContentSize() content.contentSize = CGSize (ширина: self.scroll.frame.width, высота: self.scroll.frame.height) } } Расширение 1: функция объединения
расширение UIScrollView { функция updateContentSize() { let UnionTotal = recursiveUnion (представление: self) self.contentSize = CGSize (ширина: self.frame.width, высота: UnionTotal.height + 50) } частная функция recursiveUnion (представление: UIView) -> CGRect { вар totalRect: CGRect = .ноль для v в view.subviews { totalRect = totalRect.union(recursiveUnion(view: v)) } print("Размер обновленного содержимого: \(totalRect.union(view.frame))") вернуть totalRect.union(view.frame) } } Расширение 2: установка представлений и ограничений
Я сделал это приложение так, как показано на изображении выше. но прокрутка не работает. Я хочу полностью опустить ScrollView.
Я задал вопрос, связанный с этим, и меня это сработало. Но мне нужно сделать какую-то функцию, а стратегия... [*]установить виды (порядок: Метка заголовка, Метка даты, Метка изображения (опция), Метка статьи). [*]якоря соответствуют приведенному выше представлению, например: NSLayoutConstraint.activate([...topAnchor...(equalTo: overView.bottomAnchor, consrant: 20) [*]Высота scrollView и UIView(Container) будет обновлена после настройки объединения высот представлений. Код не работает, Беллоу. Все представления настраиваются по коду.
[b]DetailViewController.Swift[/b]
импортировать UIKit класс DetailViewController: UIViewController { частный пусть titleLabel: UILabel = { пусть просмотр = UILabel() view.numberOfLines = 2 обратный вид }() частный let dateLabel: UILabel = { пусть просмотр = UILabel() обратный вид }() частная прокрутка: UIScrollView = { пусть прокрутка = UIScrollView() прокрутка.backgroundColor = .коричневый возврат прокрутки }() частный контейнер Let: UIView = { пусть контейнер = UIView() Container.backgroundColor = .lightGray возвратный контейнер }() частное изображение: UIImageView = { пусть изображение = UIImageView() вернуть изображение }() частный контроллер Let: UIPageControl = { пусть контроллер = UIPageControl() контроллер возврата }() частный контент: UITextView = { пусть контент = UITextView() вернуть контент }() вар имя_файла: String! вар идентификатор: Строка! вар номер записи: Int! вар dataSize: Int! var запись: Вход! переопределить функцию viewDidLoad() { супер.viewDidLoad() // Выполняем любые дополнительные настройки после загрузки представления. // Получаем идентификатор содержимого и анализируем имя файла синтаксический анализFileName (идентификатор: идентификатор) добавитьПрокруткаView() Scroll.contentSize = CGSize (ширина: self.view.frame.width, высота: self.view.frame.height) добавитьTopLabels() content.text = запись. Статья // isImage имеет значение true или false addContent(isImage: вход.isImage) // Для отладки content.backgroundColor = .желтый прокрутка.updateContentSize() content.contentSize = CGSize (ширина: self.scroll.frame.width, высота: self.scroll.frame.height) } } [b]Расширение 1: функция объединения[/b]
расширение UIScrollView { функция updateContentSize() { let UnionTotal = recursiveUnion (представление: self) self.contentSize = CGSize (ширина: self.frame.width, высота: UnionTotal.height + 50) } частная функция recursiveUnion (представление: UIView) -> CGRect { вар totalRect: CGRect = .ноль для v в view.subviews { totalRect = totalRect.union(recursiveUnion(view: v)) } print("Размер обновленного содержимого: \(totalRect.union(view.frame))") вернуть totalRect.union(view.frame) } } [b]Расширение 2: установка представлений и ограничений[/b]
У меня есть приложение с UITableView. Мы постепенно переходим на SwiftUI, поэтому UITableView по сути представляет собой набор представлений SwiftUI. Мне удалось заставить фон выглядеть градиентом, используя эти две функции:
func...
У меня есть приложение с UITableView. Мы постепенно переходим на SwiftUI, поэтому UITableView по сути представляет собой набор представлений SwiftUI. Мне удалось заставить фон выглядеть градиентом, используя эти две функции:
func...
Я работаю над проектом ARKit, в котором использую ARView (или ARSCNView) для размещения узлов в реальном мире. Я хочу применить черно-белый фильтр к фону изображения камеры, сохраняя при этом цветные объекты 3D-узлов. Я слышал, что это можно сделать...
Я работаю над проектом ARKit, в котором использую ARView (или ARSCNView) для размещения узлов в реальном мире. Я хочу применить черно-белый фильтр к фону изображения камеры, сохраняя при этом цветные объекты 3D-узлов. Я слышал, что это можно сделать...
Я работаю над проектом ARKit, в котором использую ARView (или ARSCNView) для размещения узлов в реальном мире. Я хочу применить черно-белый фильтр к фону изображения с камеры, сохраняя при этом цветные объекты 3D-узлов. Я слышал, что это можно...