Перемещение UIView, содержащего кнопки UIB, заставляет эти кнопки перестать реагировать на нажатия - PullRequest
2 голосов
/ 30 января 2010

У меня есть 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) пикселей приводит к тому, что нижняя кнопка работает нормально, но верхняя не работает.

Есть идеи, что может быть причиной проблемы? Нужно ли мне как-то сообщать кнопкам, что их родительский вид переместился?

Ответы [ 2 ]

2 голосов
/ 30 января 2010

Проблема заключалась в том, что я должен был использовать buttons.frame вместо buttons.bounds.Использование рамки вместо этого решило проблему.

1 голос
/ 30 января 2010

Я предлагаю дать родительскому UIView цвет фона и установить стиль кнопки в Rounded. Таким образом, вы можете увидеть, что происходит на экране. (Предполагается, что вы используете прозрачные кнопки поверх какого-либо изображения или около того)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...