Люди, я нашел причину своей проблемы, и я должен сказать, что она была очень очень глупой.
Первая строка этого проекта была ответственна за все проблемы:
UIView *myView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 200, 400)];
Поскольку созданный мной вид имеет размер только 200х400, он слишком мал, чтобы распознавать любые события, которые появляются за пределами этого вида (хотя все видно).
Если я изменяю размерс этой точки зрения все работает, как ожидалось:
UIView *myView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 300, 500)];
Но более динамичное решение, вероятно, будет:
CGRect cgRect =[[UIScreen mainScreen] bounds];
CGSize cgSize = cgRect.size;
UIView *myView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, cgSize.width, cgSize.height)];
Может быть, есть еще лучшее решение для получения динамического размера экрана?