小编Aus*_*ood的帖子

使用Alamofire请求获取图像数据

我已将我的代码更新为Swift 3,并且无法迁移到Alamofire 4.0.我已经使用Alamofire迁移指南成功完成了大部分必要的修改,但仍然无法获取图像数据.

旧的Swift 2/Alamofire 3代码(按预期工作):

func beginGetImageRequest() {
    if let imagePath = thumbPath {
        request = Alamofire.request(.GET, imagePath).response(completionHandler: { (_, _, imageData, error) -> Void in
            if error != nil {
                NSLog("Error downloading thumbnail image: \(error)")
            } else {
                if let downloadedImage = UIImage(data: imageData!) {
                    self.imageView.image = downloadedImage
                }
            }
        })
    }
}
Run Code Online (Sandbox Code Playgroud)

我尝试更新到Alamofire 4:

func beginGetImageRequest() {
    if let imagePath = thumbPath {
        request = Alamofire.request(imagePath, method: .get, parameters: [:], encoding: JSONEncoding.default)
            .validate { …
Run Code Online (Sandbox Code Playgroud)

ios swift alamofire alamofireimage

10
推荐指数
1
解决办法
2万
查看次数

在圆形视图上的手势识别器

在我的集合视图的每个单元格中都是一个圆形的UIView.这是通过创建UIView我调用的自定义子类CircleViewlayer.cornerRadius = self.frame.size.width/2在子类中设置来实现的.awakeFromNib()

我想为每个CircleView添加一个手势识别器.我在集合视图中做了这个cellForItemAtIndexPath:

let gestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(tap(_:)))
cell.circleView.addGestureRecognizer(gestureRecognizer)
Run Code Online (Sandbox Code Playgroud)

问题是,只要在原始方形UIView的边界内的任何地方发生敲击,就会调用手势识别器.我想只识别圆圈内出现的水龙头.

我试图通过以下方式解决此问题:

在CircleView的awakeFromNib()我设置self.clipsToBounds = true(没有效果)

也在CircleView的awakeFromNib()我设置layer.masksToBounds = true(没有效果)

提前感谢您的想法和建议.

ios uitapgesturerecognizer swift

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