• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

swift如何实现点击view后显示灰色背景

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

有这样一种场景,当我们点击view的时候,需要过0.几秒显示一个灰色或者别的颜色的背景

用button来实现,只有按下去的时候才会出现,往往在快速按下,快速抬起的时候是看不出这个变化的

下边是解决方案

 1 override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
 2         
 3         let touch = touches.first!
 4         let p = touch.locationInView(self.retweetBackgroundView)
 5         let insideRetweet = CGRectContainsPoint(self.retweetBackgroundView!.bounds ,p)
 6         
 7         if self.retweetBackgroundView?.hidden == false && insideRetweet {
 8             
 9             self.retweetBackgroundView!.performSelector("setBackgroundColor:", withObject: kWBCellHighlightColor, afterDelay: 0.15)
10             self._touchRetweetView = true
11         }else {
12 
13             self.contentView!.performSelector("setBackgroundColor:", withObject: kWBCellHighlightColor, afterDelay: 0.15)
14             self._touchRetweetView = false
15         }
16 
17     }
18     
19     override func touchesEnded(touches: Set<UITouch>, withEvent event: UIEvent?) {
20         
21         self.touchesRestoreBackgroundColor()
22     }
23     
24     override func touchesCancelled(touches: Set<UITouch>?, withEvent event: UIEvent?) {
25         
26         self.touchesRestoreBackgroundColor()
27     }
28     
29     func touchesRestoreBackgroundColor() {
30         NSObject.cancelPreviousPerformRequestsWithTarget(self.retweetBackgroundView!, selector: "setBackgroundColor:", object: kWBCellHighlightColor)
31          NSObject.cancelPreviousPerformRequestsWithTarget(self.contentView!, selector: "setBackgroundColor:", object: kWBCellHighlightColor)
32         self.retweetBackgroundView!.backgroundColor = UIColor.whiteColor()
33         self.contentView.backgroundColor = kWBCellInnerViewColor
34     }

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Swift析构器deinit发布时间:2022-07-13
下一篇:
Swift数组发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap