- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
大家早上好,
我是一名 Swift 开发新手,在实现我正在处理的练习时遇到以下问题。
我有一个 Collection View ,其中集合单元格显示我在 XCODE 中导入的图像;当我用手指在屏幕上点击时,我想将当前显示的图像替换为我也导入的另一张图像,并为该替换设置动画。
我正在实现 UITapLongPressureRecognizer 方法,但我对识别器实现哪种状态感到困惑,只是将第一个 ImageView 替换为我点击屏幕上下滚动时想要显示的 ImageView 。
正如您从下面的代码中看到的,我认为更适合实现的两个识别器是“开始”和“结束”。我的问题是,当状态 .Begin 开始时,我不知道如何以动画方式将一个 ImageView 替换为另一个 ImageView ,因此当状态为 .Ended 时,我不知道不知道如何用第一张图像替换第二张图像并对替换进行动画处理(我希望它像带有“交叉溶解”过渡的模态转场)。
预先感谢您的友善和耐心。
class MainViewController: UICollectionViewController {
var fashionArray = [Fashion]()
private var selectedIndexPath: NSIndexPath?
override func viewDidLoad() {
super.viewDidLoad()
selectedIndexPath = NSIndexPath()
//Register the cell
let collectionViewCellNIB = UINib(nibName: "CollectionViewCell", bundle: nil)
self.collectionView!.registerNib(collectionViewCellNIB, forCellWithReuseIdentifier: reuseIdentifier)
//Configure the size of the image according to the device size
let layout = collectionViewLayout as! UICollectionViewFlowLayout
let bounds = UIScreen.mainScreen().bounds
let width = bounds.size.width
let height = bounds.size.height
layout.itemSize = CGSize(width: width, height: height)
let longPressRecogn = UILongPressGestureRecognizer(target: self, action: "handleLongPress:")
collectionView!.addGestureRecognizer(longPressRecogn)
}
func handleLongPress(recognizer: UILongPressGestureRecognizer){
var cell: CollectionViewCell!
let location = recognizer.locationInView(collectionView)
let indexPath = collectionView!.indexPathForItemAtPoint(location)
if let indexPath = indexPath {
cell = collectionView!.cellForItemAtIndexPath(indexPath) as! CollectionViewCell
}
switch recognizer.state {
case .Began:
cell.screenTapped = false
case .Ended:
cell.screenTapped = false
default:
println("")
}
}
最佳答案
首先,我建议您使用 UITapGestureRecognizer 而不是长按。因为,据我了解,你只需点击一次,而不是按一次。
let tapRecognizer = UITapGestureRecognizer(target: self, action:Selector("tapped:"))
collectionView.addGestureRecognizer(tapRecognizer)
当用户点击时,您可以使用 UIView 动画来更改图像。您可以从以下链接查看示例 II 以深入了解动画。 http://www.appcoda.com/view-animation-in-swift/
关于ios - 带 ImageView 的 UILongPressureRecognizer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30913104/
大家早上好, 我是一名 Swift 开发新手,在实现我正在处理的练习时遇到以下问题。 我有一个 Collection View ,其中集合单元格显示我在 XCODE 中导入的图像;当我用手指在屏幕上点
我是一名优秀的程序员,十分优秀!