Swift - 点击箭头旋转

let arrowImage = UIImageView(image: UIImage(named: "Machine_arrow")!.imageWithRenderingMode(.AlwaysTemplate))

let arrowButton = UIButton(frame: CGRectMake(700, 20, arrowImage.bounds.width, arrowImage.bounds.height))

arrowButton.addSubview(arrowImage)

arrowButton.addTarget(self, action: #selector(btnClicked(_:event:)), forControlEvents: .TouchUpInside)

// 检查用户点击按钮时的位置,并转发事件到对应的accessorytapped事件

func btnClicked(sender: UIButton, event: AnyObject) {

let touches = event.allTouches()! as NSSet

let touch = touches.anyObject() as! UITouch

let currentTouchPosition = touch.locationInView(selectTable)

let indexPath: NSIndexPath = selectTable.indexPathForRowAtPoint(currentTouchPosition)!

tableView(selectTable, accessoryButtonTappedForRowWithIndexPath: indexPath)

}

// 这样,UITableView的accessoryButtonTappedForRowWithIndexPath方法会被触发,并且获得一个indexPath 参数。通过这个indexPath 参数,我们可以区分到底是众多按钮中的哪一个附件按钮发生了触摸事件:

func tableView(tableView: UITableView, accessoryButtonTappedForRowWithIndexPath indexPath: NSIndexPath) {

let idx = indexPath.row

//在这里加入自己的逻辑

print(idx)

// 点击箭头旋转

rotat()

// rotateArrow()

}

// 旋转动画一

func rotat() {

//创建旋转动画

let anim = CABasicAnimation(keyPath: "transform.rotation")

//旋转角度

anim.toValue = 1 * M_PI

//旋转指定角度需要的时间

anim.duration = 1

//旋转重复次数

anim.repeatCount = MAXFLOAT

//动画执行完后不移除

anim.removedOnCompletion = true

//将动画添加到视图的laye上

arrowImage.layer.addAnimation(anim, forKey: nil)

//取消动画

arrowImage.layer.removeAllAnimations()

//这个是旋转方向的动画

UIView.animateWithDuration(0.2) { () -> Void in

//指定旋转角度是180°

self.arrowImage.transform = CGAffineTransformRotate(self.arrowImage.transform, CGFloat(M_PI))

}

}

// 旋转动画二

func rotateArrow() {

UIView.animateWithDuration(0.3, animations: {[weak self] () -> () in

if let selfie = self {

selfie.arrowImage.transform = CGAffineTransformRotate(selfie.arrowImage.transform, 180 * CGFloat(M_PI/180))

}

})

}

时间: 2024-08-26 03:29:49

Swift - 点击箭头旋转的相关文章

iOS手势操作,拖动,轻击,捏合,旋转,长按,自定义(http://www.cnblogs.com/huangjianwu/p/4675648.html)

1.UIGestureRecognizer 介绍 手势识别在 iOS 中非常重要,他极大地提高了移动设备的使用便捷性. iOS 系统在 3.2 以后,他提供了一些常用的手势(UIGestureRecognizer 的子类),开发者可以直接使用他们进行手势操作. UIPanGestureRecognizer(拖动) UIPinchGestureRecognizer(捏合) UIRotationGestureRecognizer(旋转) UITapGestureRecognizer(点按) UILo

Swift - 点击输入框外部屏幕关闭虚拟键盘

我们如果把文本框的Return Key设置成Done,然后在storyboard中将文本框的Did End On Exit事件在代码里进行关联.同时关联代码里调用文本框的resignFirstResponder()方法.就可以实现用户点击键盘return key时就关闭虚拟键盘. 如果要实现当用户点击文本框之外的舞台屏幕时也能关闭虚拟键盘.这时就要让屏幕的背景响应Touch Down事件. (1)由于背景是UIView控件,不能直接拖拽关联Touch事件.首先要让背景变成UIControl控件.

Swift - 点击事件奇偶次判断

// 按钮点击事件 func onTouchUpInside() { struct touchUpInside { static var count: Int = 0 } touchUpInside.count += 1 print(touchUpInside.count) if touchUpInside.count % 2 == 0 { newsView.frame = CGRectMake(10, 22, UIScreen.mainScreen().bounds.size.width -

点击箭头 隐藏/展开 左侧导航

一.确保左侧导航div固定宽度,右侧内容div不设置宽度 二.在左侧内容div  和 右侧内容 div 中间 添加如下代码: <div style="width:10px; float:left; "> <table> <tr><td height="200px"></td></tr> <tr><td><img id="img_arrow" sr

swift 点击Textfield 后自动上移,避免键盘被遮住

一些textfield在键盘显示出来的时候会被挡住,所以在编辑textfield我们可以把视图上移 方法是给textfield增加两个监听事件 @IBAction func beginEdit(_ sender: UITextField) { animateViewMoving(up: true, moveValue: 100) } @IBAction func endEdit(_ sender: UITextField) { animateViewMoving(up: false, moveV

箭头随着手指滑动而旋转(二)

一.说明 这篇文章和我的上一篇文章 <箭头随着手指滑动而旋转(一)> 有所不同,上一篇文章中的箭头方向始终指向触摸点的位置,这篇文章的箭头方向是在上一次方向的基础上进行改变. 话不多说,开始实现这个需求. 二.思路 1.首先写出一个canvas绘制箭头的函数 2.初始化开始的坐标startX和startY, 移动的距离moveX和moveY, 旋转的角度rotation,起始点的角度angle1,结束点的角度angle2,旋转的比率rate(可选) 3.给canvas元素绑定touch事件,

Swift语言Auto Layout入门教程

Swift语言Auto Layout入门教程:上篇 开始用自动布局约束的方式思考吧! 更新记录:该教程由Brad Johnson更新Swift和iOS 8内容,原文第一版作者为教程编纂组的Matthijs Hollemans. 你可曾为了让App在横竖屏模式下都能展现整洁的界面而感到苦恼?你可曾为了让布局同时支持iPhone和iPad而感到心烦?别灰心,好消息来啦! 为某种确切尺寸的屏幕设计用户界面并不麻烦,但如果屏幕画面的框架不固定,为适应新环境,App中各个UI元素的位置和大小都需要相应调整

Swift语言Auto Layout入门教程:上篇

原文:Beginning Auto Layout Tutorial in Swift: Part 1/2,译者:@TurtleFromMars 开始用自动布局约束的方式思考吧! 更新记录:该教程由Brad Johnson更新Swift和iOS 8内容,原文第一版作者为教程编纂组的Matthijs Hollemans. 你可曾为了让App在横竖屏模式下都能展现整洁的界面而感到苦恼?你可曾为了让布局同时支持iPhone和iPad而感到心烦?别灰心,好消息来啦! 为某种确切尺寸的屏幕设计用户界面并不麻

Android快乐贪吃蛇游戏实战项目开发教程-06虚拟方向键(五)绘制方向键箭头

本系列教程概述与目录:http://www.cnblogs.com/chengyujia/p/5787111.html本系列教程项目源码GitHub地址:https://github.com/jackchengyujia/HappySnake 一.本文概述 在上篇教程中,我们画了4个背景三角形,并且实现了点击变色的按钮效果.在本篇教程中,我们将在这4个三角形上分别绘制表示方向的箭头,并且让箭头也有点击变色的效果.我们先看一下运行效果,有一个直观的了解,然后再从代码的角度分析和讲解. 二.运行效果