Swiftui scrollview не имеет некоторых функций, которые мне нужны, и поэтому я создал пользовательский myscrollview на основе uiscrollview , завернутый в UiviewControllerRepresentable . Хотя это работает в основном нормально, полосы прокрутки не расположены правильно, когда .IgnoresAvearea () устанавливается на myscrollview . Что -то не так с моим кодом или это какая -то ошибка в Swiftui? Как это можно решить?var body: some View {
VStack {
Text("Some Header Content")
MyScrollView {
VStack {
ForEach(0..
В этой настройке прокрутка прокрутки не заканчивается в верхней части Scrollview, а несколько пикселей ниже. Это не тот случай, когда текст («Некоторый контент заголовка») или .ignoressaFearea () удаляется. Тем не менее, мне нужен заголовок, и безопасная область следует игнорировать ...
Есть ли что -то не так с тем, как uiscrollview используется/позиционируется в моем myscrollview ? Правильная ли общая реализация myscrollview или я делаю что -то не так?
struct MyScrollView: UIViewControllerRepresentable {
let content: Content
init(@ViewBuilder content: () -> Content) {
self.content = content()
}
func makeUIViewController(context: Context) -> UIViewController {
let scrollViewVC = UIViewController()
scrollViewVC.view.backgroundColor = .clear
let scrollView = UIScrollView()
scrollView.backgroundColor = .clear
let contentVC = UIHostingController(rootView: self.content)
contentVC.view.backgroundColor = .clear
context.coordinator.contentVC = contentVC
context.coordinator.scrollView = scrollView
scrollView.translatesAutoresizingMaskIntoConstraints = false
scrollViewVC.view.addSubview(scrollView)
NSLayoutConstraint.activate([
scrollView.topAnchor.constraint(equalTo: scrollViewVC.view.topAnchor),
scrollView.bottomAnchor.constraint(equalTo: scrollViewVC.view.bottomAnchor),
scrollView.leadingAnchor.constraint(equalTo: scrollViewVC.view.leadingAnchor),
scrollView.trailingAnchor.constraint(equalTo: scrollViewVC.view.trailingAnchor)
])
contentVC.willMove(toParent: scrollViewVC)
scrollViewVC.addChild(contentVC)
contentVC.view.translatesAutoresizingMaskIntoConstraints = false
scrollView.addSubview(contentVC.view)
NSLayoutConstraint.activate([
contentVC.view.topAnchor.constraint(equalTo: scrollView.contentLayoutGuide.topAnchor),
contentVC.view.bottomAnchor.constraint(equalTo: scrollView.contentLayoutGuide.bottomAnchor),
contentVC.view.leadingAnchor.constraint(equalTo: scrollView.contentLayoutGuide.leadingAnchor),
contentVC.view.trailingAnchor.constraint(equalTo: scrollView.contentLayoutGuide.trailingAnchor),
contentVC.view.widthAnchor.constraint(equalTo: scrollView.frameLayoutGuide.widthAnchor)
])
contentVC.didMove(toParent: scrollViewVC)
return scrollViewVC
}
func updateUIViewController(_ uiViewController: UIViewController, context: Context) {
context.coordinator.contentVC?.rootView = content
}
func makeCoordinator() -> Coordinator {
return Coordinator()
}
class Coordinator {
var contentVC: UIHostingController?
var scrollView: UIScrollView?
init() {
//...
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/795 ... o-correctl
Swiftui Обертывание uiscrollview in uiviewControllerRepresentable - как правильно вставить полос прокрутки? ⇐ IOS
Программируем под IOS
1744367342
Anonymous
Swiftui scrollview не имеет некоторых функций, которые мне нужны, и поэтому я создал пользовательский myscrollview на основе uiscrollview , завернутый в UiviewControllerRepresentable . Хотя это работает в основном нормально, полосы прокрутки не расположены правильно, когда .IgnoresAvearea () устанавливается на myscrollview . Что -то не так с моим кодом или это какая -то ошибка в Swiftui? Как это можно решить?var body: some View {
VStack {
Text("Some Header Content")
MyScrollView {
VStack {
ForEach(0..
В этой настройке прокрутка прокрутки не заканчивается в верхней части Scrollview, а несколько пикселей ниже. Это не тот случай, когда текст («Некоторый контент заголовка») или .ignoressaFearea () удаляется. Тем не менее, мне нужен заголовок, и безопасная область следует игнорировать ...
Есть ли что -то не так с тем, как uiscrollview используется/позиционируется в моем myscrollview ? Правильная ли общая реализация myscrollview или я делаю что -то не так?
struct MyScrollView: UIViewControllerRepresentable {
let content: Content
init(@ViewBuilder content: () -> Content) {
self.content = content()
}
func makeUIViewController(context: Context) -> UIViewController {
let scrollViewVC = UIViewController()
scrollViewVC.view.backgroundColor = .clear
let scrollView = UIScrollView()
scrollView.backgroundColor = .clear
let contentVC = UIHostingController(rootView: self.content)
contentVC.view.backgroundColor = .clear
context.coordinator.contentVC = contentVC
context.coordinator.scrollView = scrollView
scrollView.translatesAutoresizingMaskIntoConstraints = false
scrollViewVC.view.addSubview(scrollView)
NSLayoutConstraint.activate([
scrollView.topAnchor.constraint(equalTo: scrollViewVC.view.topAnchor),
scrollView.bottomAnchor.constraint(equalTo: scrollViewVC.view.bottomAnchor),
scrollView.leadingAnchor.constraint(equalTo: scrollViewVC.view.leadingAnchor),
scrollView.trailingAnchor.constraint(equalTo: scrollViewVC.view.trailingAnchor)
])
contentVC.willMove(toParent: scrollViewVC)
scrollViewVC.addChild(contentVC)
contentVC.view.translatesAutoresizingMaskIntoConstraints = false
scrollView.addSubview(contentVC.view)
NSLayoutConstraint.activate([
contentVC.view.topAnchor.constraint(equalTo: scrollView.contentLayoutGuide.topAnchor),
contentVC.view.bottomAnchor.constraint(equalTo: scrollView.contentLayoutGuide.bottomAnchor),
contentVC.view.leadingAnchor.constraint(equalTo: scrollView.contentLayoutGuide.leadingAnchor),
contentVC.view.trailingAnchor.constraint(equalTo: scrollView.contentLayoutGuide.trailingAnchor),
contentVC.view.widthAnchor.constraint(equalTo: scrollView.frameLayoutGuide.widthAnchor)
])
contentVC.didMove(toParent: scrollViewVC)
return scrollViewVC
}
func updateUIViewController(_ uiViewController: UIViewController, context: Context) {
context.coordinator.contentVC?.rootView = content
}
func makeCoordinator() -> Coordinator {
return Coordinator()
}
class Coordinator {
var contentVC: UIHostingController?
var scrollView: UIScrollView?
init() {
//...
}
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79568615/swiftui-wrapping-uiscrollview-in-uiviewcontrollerrepresentable-how-to-correctl[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия