Если большое UIButton
закрывает маленькие кнопки, то краткий ответ: вы не можете. События передаются по цепочке респондента, и когда дело доходит до просмотров, события передаются в его суперпредставление, если событие не обработано. Поскольку только представление может иметь одно суперпредставление, то, что вы хотите сделать, невозможно, по крайней мере, нелегко.
Если вы можете изменить макет, имея все маленькие кнопки поверх большой кнопки, это может сработать. Я не уверен, что события будут вести себя так, как вы хотели бы, вы просто должны проверить это. Но все события, не обработанные маленькой кнопкой, должны быть переданы большой кнопке.
Если вы можете захватить точку, к которой прикоснулись, для UIControlEventTouchDownRepeat
, то вы сможете найти, какая маленькая кнопка находится ниже касания, и таким образом передать событие. Вам нужно было бы спросить суперпредставление маленьких кнопок, которое, возможно, совпадает с суперпредставлением для большой кнопки?
Возможно, вам захочется найти альтернативное решение, возможно, создать собственный элемент управления, который обрабатывает прикосновения так, как вы хотите.