I've been thinking about this myself, as I also want to detect a touch on the navigation bar title. I'm using a UITableViewController and tables don't seem to like touchesBegan..
Whilst sitting "reading the newspaper" (read, on the loo using my iPhone), I had an idea. Would it be possible to addTarget:action:forControlEvents on a label, then add that to the title view?
I'm fairly new to the whole thing myself too.
Edit: ok, after trying the above, I found that it can't be done. Labels don't work with addTarget..
So instead I tried a button, and have gone with the following to test my theory (but I don't know how "legal" it is):
UIButton *titleLabel = [UIButton buttonWithType:UIButtonTypeCustom];
[titleLabel setTitle:@"myTitle" forState:UIControlStateNormal];
titleLabel.frame = CGRectMake(0, 0, 70, 44);
titleLabel.font = [UIFont boldSystemFontOfSize:16];
[titleLabel addTarget:self action:@selector(titleTap:) forControlEvents:UIControlEventTouchUpInside];
self.navigationItem.titleView = titleLabel;
Put that bit of code where ever you set your title. Then elsewhere I had this to test:
- (IBAction) titleTap:(id) sender
{
NSLog(@"Title tap");
}
which logged "Title tap" on the console!
The way I've gone about this may be completely wrong, but might give you an idea on what you can look in to. It's certainly helped me out! There's probably a better way of doing it though.