If you want to call the delegate method at this point it has to be named "willShowMTPopupWindow" - if you want to actually have a "didShowMTPopupWindow" delegate method it should be invoked only after the animatePopup: method finishes the animation. Besides this I think all the rest of the changes are cool