Normally, when you create a view controller and view using an xib file, the .h, .m and .xib files have the same file name. When you are making the connections in Interface Builder, an object (a UIButton say) can make the file’s owner (usually a view controller) its delegate. This is not the case with HeaderView.xib The delegate “option” is not available for the UIButtons. In this situation, in Interface Builder you set the class of the file’s owner to ItemsViewController. So, the file names are not the same: ItemsViewController and HeaderView.
Is that the reason you cannot assign a delegate to the UIButtons in Interface Builder? In other words does Interface Builder “know” when the xib is associated with .h and .m files by having the same file name and so provides the ability for objects to assign delegates? And, when Interface Builder “sees” that the name of the xib file is not the same as the file’s owner, it does not provide the delegate assigning capability?