scrollView
.showsHorizontalScrollIndicator
=
true
scrollView
.showsVerticalScrollIndicator
=
false
scrollView
.pagingEnabled
=
true
scrollView
.bounces
=
true
scrollView
.alwaysBounceVertical
=
false
scrollView
.alwaysBounceHorizontal
=
false
scrollView
.scrollEnabled
=
false
scrollView
.contentInset
= UIEdgeInsetsMake(
100
,
50
,
50
,
50
)
scrollView
.scrollIndicatorInsets
= UIEdgeInsetsMake(
30
,
30
,
30
,
30
)
scrollView
.indicatorStyle
= UIScrollViewIndicatorStyle
.Black
scrollView
.minimumZoomScale
=
0.2
scrollView
.maximumZoomScale
=
100
let imagesArray = [
"DOVE 2"
,
"DOVE 5"
,
"DOVE 10"
]
for
i in
0.
.<imagesArray
.count
{
let imageView =
UIImageView
(frame: CGRectMake(
CGFloat
(i)*scrollView
.frame
.size
.width
,
0
, scrollView
.frame
.size
.width
, scrollView
.frame
.size
.height
))
imageView
.image
=
UIImage
(named: imagesArray[i])
imageView
.userInteractionEnabled
=
true
scrollView
.addSubview
(imageView)
scrollView
.contentSize
= CGSizeMake(scrollView
.frame
.size
.width
*
CGFloat
(imagesArray
.count
),scrollView
.frame
.size
.height
)
scrollView
.delegate
=
self
如果这个性能被设置成false,scrollView会被允许在水平和垂直两个方向滚动。如果设置性能是true并且用户开始在一个方向拖动时(水平方向或垂直方向),滚动视图就不能在另一个方向滚动。如果拖动的方向时斜对角线方向,拖动事件将会被锁住并且用户可以在任何方向拖动,直到拖动事件结束。这个属性的默认值是false。
scrollView
.directionalLockEnabled
=
true
scrollView
.setContentOffset
(CGPointMake(
10
,
20
), animated:
false
)
scrollView
.scrollRectToVisible
(CGRectMake(
0
,
0
,
100
,
300
), animated:
false
)
scrollView
.flashScrollIndicators
()
scrollView
.tracking
scrollView
.dragging
scrollView
.decelerating
scrollView
.delaysContentTouches
=
true
scrollView
.canCancelContentTouches
=
true
scrollView
.bouncesZoom
=
true
scrollView
.zooming
NSLog
(
"scrollView.zooming>>>>>%zd"
,scrollView
.zooming
)
scrollView
.zoomBouncing
scrollView
.scrollsToTop
=
true
scrollView
.panGestureRecognizer
scrollView
.pinchGestureRecognizer
let pageControl = UIPageControl(frame: CGRectMake(
0
, scrollView
.frame
.size
.height
-
30
,
200
,
30
))
pageControl
.numberOfPages
=
6
pageControl
.currentPage
=
0
pageControl
.addTarget
(
self
, action:
#selector(pageTurn(_:)), forControlEvents: UIControlEvents.ValueChanged)
let size = pageControl
.sizeForNumberOfPages
(
6
)
func pageTurn(pageControl:UIPageControl) {
func scrollViewDidScroll(scrollView:
UIScrollView
) {
func scrollViewWillBeginDragging(scrollView:
UIScrollView
) {
func scrollViewDidEndDecelerating(scrollView:
UIScrollView
) {
func scrollViewDidEndDragging(scrollView:
UIScrollView
, willDecelerate decelerate: Bool) {
func scrollViewWillBeginDecelerating(scrollView:
UIScrollView
) {
func scrollViewWillBeginZooming(scrollView:
UIScrollView
, withView view:
UIView
?) {
func scrollViewDidZoom(scrollView:
UIScrollView
) {
func scrollViewDidEndZooming(scrollView:
UIScrollView
, withView view:
UIView
?, atScale scale:
CGFloat
) {
func scrollViewShouldScrollToTop(scrollView:
UIScrollView
) -> Bool {
return
true
func scrollViewDidScrollToTop(scrollView:
UIScrollView
) {
文章目录VerticalHorizontalVerticalAndHorizontal
https://developer.apple.com/documentation/
swift
ui/
scrollview
Vertical
struct ContentView : View
var body: some View
ScrollView
(.vertical, showsIndicators: false)
众所周知,UITableView和UICollectionView都继承于
UIScrollView
,实际本文说的就是
UIScrollView
嵌套
UIScrollView
的事。
首先,自定义Nest
ScrollView
继承于
UIScrollView
,实现UIGestureRecognizerDelegate协议中的
方法
允许手势同时识别。
import Foundation
import UIKit
class Nest
ScrollView
:
UIScrollView
{
required init
参考资料:https://blog.csdn.net/wwc455634698/article/details/52669946
移动设备的屏幕大小是极其有限的,因此直接展示在用户眼前的内容也相当有限
当展示的内容较多,超出一个屏幕时,用户可通过滚动手势来查看屏幕以外的内容
普通的UIView不具备滚动功能,不适合显示过多的内容。
UIScrollView
是一个能够滚动的视图控件,可以用来展...
创建子视图并添加到
UIScrollView
:
let subViewOne = UIView(frame: self.view.frame)
let subViewTwo = UIView(frame: CGReact(x: self.view.frame.size.width, y: 0, width: self.view.frame.size.width, height:
class TextViewController: UIViewController ,
UIScrollView
Delegate{
let
scrollView
=
UIScrollView
()
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .white
view.addSubview(
scrollView
)
let scroll =
UIScrollView
()
scroll.frame = self.view.bounds
scroll.showsVerticalScrollIndicator = false
scroll.showsHorizontalScrollIndicator = false
今天博主在封装下拉刷新时遇到了这个问题,在给
UIScrollView
添加UIPanGestureRecognizer时
UIScrollView
无法滑动了。博主也试了UITableView和UICollectionView,也出了同样的问题。在网上找了很久,终于解决了这个问题,只需要扩展
UIScrollView
使它遵循UIGestureRecognizerDelegate,并实现其中的一个
方法
就可以
let width:CGFloat = 375
let height:CGFloat = 668
class ViewController: UIViewController,
UIScrollView
Delegate {
var pageControl:UIPageControl?
var tmpSV:
UIScrollView
?
override func vi
UIScrollView
是IOS中非常有用的一个组件。它是通用组件UITableView的基类也是放置尺寸大于一个屏幕的内容时很好的组织方式。本教程会介绍
UIScrollView
的下列用法:
如何使用
UIScrollView
浏览大尺寸图片。
如何在缩放时保持
UIScrollView
中的内容居中.
...
// Created by dongqiangfei on 16/3/17.
import UIKit
class ViewController: UIViewController,
UIScrollView
Delegate{
va...
tableView.scrollRectToVisible(CGRect(x: 0, y: 0, width: tableView.width, height: tableView.height), animated: false)
在tableView上使用,有时会无效,无法回到顶部
解决
方法
:
if #available(iOS 11.0, *) {