swift - Making a view fadeout in time if slider value isn't updated -
i'm working on drawing app , when user selects brush size / color / opacity i'm making small preview of brush appear @ center of screen. make fade out after few seconds if value isn't updated. when tried implementing here, preview doesn't reappear when slider value updated. tried many things can't seem work. extract of code below. kindly let me know if have ideas of how can this.
slider value changed
func colordrawdidchange(sender:uislider!) { if (sender.tag == 100) { self.red = cgfloat(sender.value) } else if (sender.tag == 101) { self.blue = cgfloat(sender.value) } else { self.green = cgfloat(sender.value) } drawpreview() animateout(previewview) } draw preview view
let previewview = uiimageview() func drawpreview() { previewview.hidden = false previewview.alpha = 1.0 previewview.frame = cgrectmake(0,0,90,90) previewview.center = cgpoint(x: screenwidth/2,y: screenheight/2) self.view.addsubview(previewview) uigraphicsbeginimagecontext(previewview.frame.size) var context = uigraphicsgetcurrentcontext() cgcontextsetlinecap(context, kcglinecapround) cgcontextsetlinewidth(context, brushwidth) cgcontextsetrgbstrokecolor(context, red, green, blue, opacity) cgcontextmovetopoint(context, 45.0, 45.0) cgcontextaddlinetopoint(context, 45.0, 45.0) cgcontextstrokepath(context) previewview.image = uigraphicsgetimagefromcurrentimagecontext() uigraphicsendimagecontext() } animate out
func animateout(view1:uiview) { uiview.animatewithduration(0.2, animations: { view1.alpha = 1 }, completion: { (value: bool) in view1.hidden = true }) }
solved calling method when user done using slider
sizedrawslider.addtarget(self, action: "removepreview", forcontrolevents: (.touchupinside | .touchupoutside))
Comments
Post a Comment