to add a delegate to detect button

just a protocal