У меня есть UIView в UIScrollView в UIView в .xib, который содержит несколько кнопок. Если я переместу этот UIView вниз на несколько пикселей из viewWillAppear
, все кнопки перестанут реагировать на нажатия.
Вот код, который я использую, чтобы изменить размер UIScrollView и сдвинуть кнопки вниз:
// adjust the view height to accomodate the resized label
scrollView.contentSize = CGSizeMake( 320, 367 + expectedLabelSize.height - originalLabelSize.height );
// Adjust the location of buttons
CGRect buttonsBounds = buttons.bounds;
buttonsBounds.origin.y -= expectedLabelSize.height - originalLabelSize.height; //XX
buttons.bounds = buttonsBounds;
Если я закомментирую строку, отмеченную XX, кнопки будут работать нормально, но, конечно, не в том месте.
Если я пробую различное количество пикселей (заменив expectedLabelSize.height - originalLabelSize.height
на жестко закодированное значение), я получаю интересные результаты. 10 пикселей работает нормально. 50 пикселей приводит к тому, что моя верхняя кнопка работает нормально, а нижняя не работает. 100 пикселей и обе кнопки не работают. (-50) пикселей приводит к тому, что нижняя кнопка работает нормально, но верхняя не работает.
Есть идеи, что может быть причиной проблемы? Нужно ли мне как-то сообщать кнопкам, что их родительский вид переместился?