dedicated fadein method
only add when not in superview
reset position to beginning on showinview
fadeout bugfix