• Как сделать rotate картинки и scale чтобы захватить максимально отображаемую область?

    @kirick
    Вот чертёж того, как всё выглядит в итоге.
    UnOTUGC1V24.jpg
    Тут:
    • ABCD — ваша картинка после scale
    • A'B'C'D' — ваш контейнер, в котором картинка отображается (например, экран)
    • α — угол поворота картинки


    Собственно, нам надо найти величину s = CD / C'D'. При этом C'D' у нас уже есть — это ширина экрана. Значит, вся задача в том, чтобы найти CD.
    Видим, что CD = CC' + C'D = AA' + C'D. При этом оба слагаемых являются катетами в треугольниках, где мы знаем гипотенузу и угол при одном из катетов (то, что угол поворота картинки α равен углу D'C'D, докажите сами, это несложно).
    Далее простые преобразования:
    sinα = AA' / A'D' <=> AA' = A'D' · sinα = CC'
    cosα = C'D / C'D' <=> C'D = C'D' · cosα
    Таким образом, CD = CC' + C'D = A'D' · sinα + C'D' · cosα
    Значит, величина увеличения равна s = CD / C'D' = (A'D' · sinα + C'D' · cosα) / C'D'.
    То есть, высоту картинки умножаем на синус угла поворота, прибавляем ширину картинки, умноженную на косинус угла поворота и делим это всё на ширину картинки.

    UPD: если у вас соотношение сторон картинки не равно соотношению сторон контейнера, то вам надо будет высчитать scale дважды: один раз для ширины, другой раз для высоты, и выбрать больший scale.
    Ответ написан
    1 комментарий
  • Где взять тестировщиков iOS приложения?

    @AlexSuzukirider
    Если Вы находитесь в Москве, то можете попробовать набрать тестеров-последователей на хакатонах. Они проходят с достаточной регулярностью, минимум на трех площадках - ФРИИ, HSE и Skolkovo. Мероприятия бесплатные, ближайшее будет 27 мая в HSE
    Ответ написан
    3 комментария
  • Как принудительно убрать Button shapes с кнопок?

    @five
    Вы меня, конечно, извините, что я со своим уставом в чужой монастырь, но зачем с этим бороться? Эту фичу включают именно люди, которые нуждаются в такой функциональности. Ну там всякие слабовидящие, например. Для них огорчение от того, что «ломается весь дизайн», абсолютно ничтожно по сравнению с тем, что надписи и кнопки хорошо заметны при их нарушениях зрения.

    Более того, я практически уверен, что даже если вы умудритесь найти способ сломать эту встроенную функциональность, то Apple не пропустит ваше приложение в стор.

    Не заморачивайтесь попытками изменить стандартное поведение интерфейса. Эта опция не включена по умолчанию — ей пользуются те, кто включил её осмысленно, и они не хотят, чтобы в каком-либо приложении она внезапно переставала работать.
    Ответ написан
    Комментировать
  • Как отобразить звезды вместо точек в textField с SecureTextEntry в Objective C?

    Flanker_4
    @Flanker_4
    1) Переопределить метод делегата
    -(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
    , в нем брать replacementString и комбинировать с тем что ранее ввел пользователь +обработка backspace. При этом в textField вставлять нужное количество звездочек
    2) использовать кастомный шрифт, в котором перерирсовать символ 'BULLET' (U+2022) (см. ответ тут
    3) Поломать руки тому, кто требует всякую фигню, типа звездочек в поле ввода secure. Чем им не угодил стандартный apple'овский
    Ответ написан
    1 комментарий