#iphone #screen #call
#iPhone #экран #вызов
Вопрос:
В качестве небольшого проекта, чтобы привыкнуть к еще некоторым элементам iPhone, я решил создать образец на экране вызова, смоделировав его на собственном экране вызова iPhone (IOS 4)
Однако я изо всех сил пытаюсь понять, какие элементы использует собственный экран in call для создания отображаемого представления.
Мне было интересно, может ли кто-нибудь с большим опытом работы с iPhone помочь мне, объяснив, что представляют собой различные элементы?
Является ли нижняя часть UIActionSheet слегка прозрачной и с размещенной над ней кнопкой UIButton? Или это слегка прозрачное изображение с наложенной кнопкой?
Аналогично, вверху это выглядит как просмотр изображения с именем или номером вызываемого абонента и продолжительностью вызова внизу, правильно ли я думаю, что?
Часть, которая меня действительно интересует, — это часть, где значки удерживаются в каком-то диалоговом окне в центре экрана, которое анимируется для переключения на клавиатуру, когда она выбрана, это какой-то элемент управления iPhone, который я могу использовать или настроить?
Редактировать:
Пока я попробовал две вещи, чтобы попытаться достичь этого:
1) Я создал представление внутри представления, и я пытаюсь перевернуть это, однако, кажется, что я могу правильно перевернуть только основное представление, а не представление внутри него, которое я хочу, и это не кажется хорошим подходом.
2) Я попытался рассмотреть подход к нему с использованием служебного приложения, но опять же, похоже, это предназначено для переключения на весь экран, а не только на раздел внутри экрана (просмотр)
У кого-нибудь есть какие-либо указания на то, что попробовать дальше? Или один из вышеперечисленных методов является идеальным способом сделать это и должен быть исследован дополнительно?
Ответ №1:
На базовом уровне я бы сказал, что панель из 6 кнопок — это просто представление с 6 кнопками, расположенными в нем как подвиды.
Закругленные углы и обводка границы могут быть достигнуты путем доступа к свойству слоя view и свойствам слоя для cornerRadius, borderWidth и borderColor, например
view.layer.cornerRadius = 10;
view.layer.borderWidth = 2;
view.layer.borderColor = [UIColor whiteColor].CGColor;
Для этого требуется включить CoreGraphics
фреймворк и соответствующие заголовочные файлы в ваш код.
Я замечаю, что в обводке границы есть градиент (или это кажется градиентом). Я не уверен, как этого добиться, не делая чего-то более сложного и умного (например, содержащего представление, которое лишь немного больше по вертикали и горизонтали, чем представление, содержащее кнопки, и заполнено градиентным цветом. Результатом будет градиентная граница, но, похоже, это не лучший способ сделать это…
Переключение на самом деле довольно простое. Вы можете создать анимацию пользовательского интерфейса с чем-то вроде этого:
[UIView beginAnimations:nil context:nil];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft
forView:view cache:NO]
[UIView commitAnimations];
Помогает ли это или, по крайней мере, поможет вам начать?
Комментарии:
1. Это, безусловно, продвинуло меня намного дальше по пути 🙂 Однако я столкнулся с одной проблемой: когда я использую этот код для переключения представления, все мое представление переворачивается, и я не могу понять, как просто перевернуть представление, которое у меня есть в центре экрана?
2. @Mark Granoff — А как насчет нижнего элемента управления? Это UIButton или что-то другое??
3. @Astanienohpi Да, это кнопка внутри прямоугольного изображения.
4. @Mark Granoff : как он граничит с gap? любое свойство spl, которое я должен установить, или какой-либо другой элемент управления
5. @Astanienohpi Похоже, что это пользовательская графика, так что вам придется создать что-то подобное самостоятельно.