gpt4 book ai didi

ios - 刷卡不起作用。如何解决这个问题?

转载 作者:行者123 更新时间:2023-11-30 12:46:33 26 4
gpt4 key购买 nike

我真的是iOS开发的初学者。我正在做一个项目,比如滑动图像。
1.搜索一个名为Swipe Gesture Recognizer的组件
2. 捕获它并将其放在 View 顶部(使用层次结构确保将其放在其上,如果将其放在另一个元素上,则此代码将不起作用)
3. 在层次结构中选择一个滑动手势识别器,然后转到其属性页面。将滑动更改为向左。
4. 确保另一个识别器的 Swipe 属性为 Right
5.选择UIScrollView并取消选中滚动启用
6. 将 detectorSwipe() 连接到两个识别器。

上述步骤是我的任务,但我无法实现步骤 6

我认为 IBAction 未被认可。

这是我的代码

import UIKit

class ViewController: UIViewController {

@IBOutlet weak var scrollView: UIScrollView!
// initialize UIImageView empty array
var images = [UIImageView]()

let MAX_PAGE = 2
let MIN_PAGE = 0
var currentPage = 0

override func viewDidLoad() {
super.viewDidLoad()

}

override func viewDidAppear(_ animated: Bool) {

var contentWidth: CGFloat = 0.0
let scrollWidth = scrollView.frame.size.width

for x in 0...2{
let image = UIImage(named: "icon\(x).png")
let imageView = UIImageView(image: image)
images.append(imageView)

var newX: CGFloat = 0.0
newX = scrollWidth / 2 + scrollWidth * CGFloat(x)

contentWidth += newX

scrollView.addSubview(imageView)
imageView.frame = CGRect(x: newX - 75, y: (scrollView.frame.size.height / 2) - 75, width: 150, height: 150)
}

self.images[self.currentPage].transform = CGAffineTransform.init(scaleX: 1.4, y: 1.4)

scrollView.clipsToBounds = false

scrollView.contentSize = CGSize(width: contentWidth, height: view.frame.size.height)
}



@IBAction func detectSwipe(_ sender: UISwipeGestureRecognizer) {

if (currentPage < MAX_PAGE && sender.direction == UISwipeGestureRecognizerDirection.left) {
moveScrollView(direction: 1)

}

if (currentPage > MIN_PAGE && sender.direction == UISwipeGestureRecognizerDirection.right) {
moveScrollView(direction: -1)
}
}

func moveScrollView(direction: Int){
currentPage = currentPage + direction
let point: CGPoint = CGPoint(x: scrollView.frame.size.width * CGFloat(currentPage), y: 0.0)
scrollView.setContentOffset(point, animated: true)

// Create a animation to increase the actual icon on screen
UIView.animate(withDuration: 0.4){
self.images[self.currentPage].transform = CGAffineTransform.init(scaleX: 1.4, y: 1.4)

// Revert icon size of the non-active pages
for x in 0..<self.images.count {
if (x != self.currentPage) {
self.images[x].transform = CGAffineTransform.identity
}
}
}
}

}

这是我的 View 层次结构

enter image description here

无法滚动时出错

enter image description here

最佳答案

第 6 步基本上确定了当您的手势被识别时会调用哪个方法。在您的情况下,您希望启动 detectorSwipe() 方法。

有很多方法可以实现此目的,最简单的方法是转到 View 层次结构,按住 Control 键并从两个“滑动手势识别器”拖动到 View Controller 。执行此操作后,您将看到一个小窗口,列出了许多选项,其中之一通常是“已发送操作”下的“DetectSwipe”。选择它。

如果您担心 IBAction 无法识别,一个简单的验证方法是转到您定义方法的位置(在您的 ViewController 类中),您应该能够在方法名称的左侧看到一个小气泡(在我们通常放置断点的地方)。此气泡确认此方法可以用作任何 UI 操作的目标。

如果答案有助于解决您的问题,请将其标记为正确,如果您有正确的解决方案,请投票,我是新来的:D

关于ios - 刷卡不起作用。如何解决这个问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41566109/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com