小编Igo*_*Ani的帖子

在Swift中使用UIScrollView进行无限循环滚动

我正在尝试制作无限循环图库应用程序.我通过设置UIScrollView来实现它,我在其中插入了UIImageViews.我能够加载4个图像并在它们之间滑动,但我遇到的问题是如何实现无限滚动,以便在最后一个图像之后,第一个图像出现并相反.

因为我是Swift的新手,我不知道如何处理这个问题,也不知道从哪里开始.我将非常感谢有关如何解决此问题的任何建议,示例或链接.

提前致谢!

这是我的代码的和平:

class FirstViewController: UIViewController {

@IBOutlet weak var scrollView: UIScrollView!

override func viewDidLoad() {
    super.viewDidLoad()

    self.scrollView.frame = CGRectMake(0, 0, self.view.frame.width, self.view.frame.height)

    let scrollViewWidth: CGFloat = self.scrollView.frame.width
    let scrollViewHeight: CGFloat = self.scrollView.frame.height

    let numPics: Int = 3

    let imgOne = UIImageView()
    let imgTwo = UIImageView()
    let imgThree = UIImageView()
    let imgFour = UIImageView()

    var arrPics = [imgOne, imgTwo, imgThree, imgFour]
    var arrSlide = ["slide1.png", "slide2.png", "slide3.png", "slide4.png"]

    for i in 0...numPics {

        arrPics[i] = UIImageView(frame: CGRectMake(0,scrollViewHeight * CGFloat(i),scrollViewWidth, …
Run Code Online (Sandbox Code Playgroud)

infinite-loop uiscrollview uiimageview ios swift

6
推荐指数
1
解决办法
7766
查看次数

在 Swift 中将 UIPageViewController 的逻辑实现为 UIViewController 的子视图

我必须实现一个 UIPageViewController 作为我的 UIViewController 的子视图。UIPageViewController 内部有一些逻辑和其他 ViewController。我的问题是如何连接下面的这两段代码。

所以这是我的主要 UIViewController 代码:

class MyMainViewController: UIViewController {

    override func viewDidLoad() {
       super.viewDidLoad()
    }
    override func didReceiveMemoryWarning() {
       super.didReceiveMemoryWarning()
    }   
}
Run Code Online (Sandbox Code Playgroud)

和我的 UIPageViewController 代码,它实现了他包含的 ViewControllers 之间的无限循环(我复制了整个代码,可能没有必要):

class TutorialPageViewController: UIPageViewController {

    private(set) lazy var orderedViewControllers: [UIViewController] = {
        return [self.newColoredViewController("Green"),
                self.newColoredViewController("Red"),
                self.newColoredViewController("Blue")]
    }()

    override func viewDidLoad() {
        super.viewDidLoad()

        dataSource = self

        if let firstViewController = orderedViewControllers.first {
            setViewControllers([firstViewController],
                direction: .Forward,
                animated: true,
                completion: nil)
        }
    }

    private func newColoredViewController(color: String) -> UIViewController {
        return UIStoryboard(name: …
Run Code Online (Sandbox Code Playgroud)

subview uiviewcontroller ios uipageviewcontroller swift

3
推荐指数
1
解决办法
2556
查看次数