import Foundation
import UIKit
import SnapKit
class MainViewController: UIViewController, UIScrollViewDelegate {
var scrollView: UIScrollView!
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .white
setupScrollView()
setupViewControllers()
}
func setupScrollView() {
scrollView = UIScrollView()
scrollView.isPagingEnabled = true
scrollView.showsVerticalScrollIndicator = false
scrollView.delegate = self
view.addSubview(scrollView)
scrollView.snp.makeConstraints { make in
make.edges.equalTo(view.safeAreaLayoutGuide)
}
}
func setupViewControllers() {
let firstVC = DetailViewController()
let secondVC = TabViewController()
addChild(firstVC)
addChild(secondVC)
scrollView.addSubview(firstVC.view)
scrollView.addSubview(secondVC.view)
firstVC.view.snp.makeConstraints { make in
make.top.leading.trailing.equalTo(scrollView)
make.width.equalTo(view.safeAreaLayoutGuide)
make.height.equalTo(view.safeAreaLayoutGuide)
}
secondVC.view.snp.makeConstraints { make in
make.top.equalTo(firstVC.view.snp.bottom)
make.leading.trailing.equalTo(scrollView)
make.width.equalTo(view.safeAreaLayoutGuide)
make.height.equalTo(view.safeAreaLayoutGuide)
make.bottom.equalTo(scrollView)
}
firstVC.didMove(toParent: self)
secondVC.didMove(toParent: self)
let contentHeight = view.safeAreaLayoutGuide.layoutFrame.height * 2
scrollView.contentSize = CGSize(width: view.safeAreaLayoutGuide.layoutFrame.width, height: contentHeight)
}
func scrollViewDidScroll(_ scrollView: UIScrollView) {
let contentHeight = scrollView.contentSize.height
let scrollViewHeight = scrollView.frame.size.height
// 아래쪽으로만 바운스 막기
if scrollView.contentOffset.y > contentHeight - scrollViewHeight {
scrollView.contentOffset.y = contentHeight - scrollViewHeight
}
// 위쪽으로만 바운스 막기
if scrollView.contentOffset.y < 0 {
scrollView.contentOffset.y = 0
}
}
}
Скриншот симулятора
Когда я перетаскиваю вниз, вид выше слегка виден.
Когда «scrollView» .contentOffset.y>contentHeight - ScrollViewHeight" и "scrollView.contentOffset.y
firstVC.view.snp.makeConstraints { make in make.top.leading.trailing.equalTo(scrollView) make.width.equalTo(view.safeAreaLayoutGuide) make.height.equalTo(view.safeAreaLayoutGuide) }
secondVC.view.snp.makeConstraints { make in make.top.equalTo(firstVC.view.snp.bottom) make.leading.trailing.equalTo(scrollView) make.width.equalTo(view.safeAreaLayoutGuide) make.height.equalTo(view.safeAreaLayoutGuide) make.bottom.equalTo(scrollView) }
func scrollViewDidScroll(_ scrollView: UIScrollView) { let contentHeight = scrollView.contentSize.height let scrollViewHeight = scrollView.frame.size.height
// 아래쪽으로만 바운스 막기 if scrollView.contentOffset.y > contentHeight - scrollViewHeight { scrollView.contentOffset.y = contentHeight - scrollViewHeight }
// 위쪽으로만 바운스 막기 if scrollView.contentOffset.y < 0 { scrollView.contentOffset.y = 0 } } } [/code] Скриншот симулятора Когда я перетаскиваю вниз, вид выше слегка виден. Когда «scrollView» .contentOffset.y>contentHeight - ScrollViewHeight" и "scrollView.contentOffset.y
Предположим, что мы хотим распространить ряд встроенных элементов внутри дивиата гибкой ширины, мы рассмотрим пространства на дальнем конце первого и Последние элементы должны быть значимыми и должны быть частью расстояния.
В Matplotlib вы можете нарисовать стрелку с помощью Axes.arrow (
Есть ли аналогичная функция для рисования линии с кругом или другим торцом на конце? Я ожидал, что это будет параметр аргумента ключевого слова для Axes.arrow, но, похоже, его не...
ниже - HTML и CSS круга, чьи стрелки должны указывать друг на друга по отношению к окружности круга, и это хорошо в кругу. Пожалуйста, найдите пример изображения. Я хочу, чтобы стрелка была похожей на пример, сохраняя цветовую тему одинаковой:...
ниже - HTML и CSS круга, чьи стрелки должны указывать друг на друга по отношению к окружности круга, и это хорошо в кругу. Пожалуйста, найдите пример изображения. Я хочу, чтобы стрелка была похожей на пример, сохраняя цветовую тему одинаковой:...