Try this,
#define ANNOMENUV_NUMBER_OF_ITEMS ([ANNOMENUV_ITEMS count]-1)
But, why?
These macro's are simply substituted in the respective places during compile time. So your actual init line will look like this after compiling (just ignore my above answer for now).
Consider ANNOMENUV_SIZE_HEIGHT = 35.
self = [super initWithFrame:CGRectMake(frame.origin.x, frame.origin.y, 45*[@[@"Text",@"Font",@"Bold",@"Italic",@"Underline",@"Color"] count]-1+ 45, 35)];
Now if you recall operator precedence, you will understand why your code failed.