2017-01-31 1 views
0

Я новичок в разработке ios/iphone.Как создать объекты треугольной формы в ios

Я хотел бы отобразить представление, состоящее из трех возможных стилей объединения строк, как показано ниже. В идеале у меня было бы 3 объекта, которые будут похожи на 3 рисунка ниже, и щелчок по каждому из них будет выбирать подходящее соединение.

Возможно ли реализовать каждый из этих объектов с помощью UIButton или лучше рисовать и выяснить, какой из них коснулся пользователь?

enter image description here

ответ

1

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

Для достижения наилучших результатов, по-моему, вы должны научиться рисовать в коде и фактически рисовать митру рисунков в коде - рисование каждого из них к UIImage и затем делая каждый UIImage изображения кнопки.

+1

Я могу нарисовать несколько строк, но как я могу заполнить между линиями цветом? – JennyToy

+0

Я не знаю, что означает «заполнить между линиями каким-то цветом», и в любом случае это не вопрос. Вопрос заключался в том, какую стратегию можно использовать для построения интерфейса, и это то, на что я отвечал. – matt

+1

Я думаю, что из изображений в вопросе видно, что я имел в виду: я могу рисовать контурные линии и внутренние линии, но как рисовать черным между контуром (опять же цифры должны уточнить, что я имею в виду) – JennyToy

1

Вы можете использовать несколько подходов (и, возможно, более).

Вы можете создавать пользовательские представления и присоединять к ним слой формы, настроенный с помощью желаемого соединения, и устанавливать один и тот же путь в каждом. Затем вам нужно будет прикрепить организатор жестов кран.

Самый простой способ - это просто использовать пользовательские кнопки со статическими изображениями ваших разных объединений. Тогда вы просто приложите действие к каждой кнопке, как обычно.

Я бы порекомендовал кнопки с пользовательскими изображениями. Это просто, это легко, и вы в конечном итоге с кнопками нормального поведения.

+0

Правда. Я должен был сказать, что вы можете создать собственное представление и реализовать метод '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ''' '' '' '. Уточнение, слои имеют 'CGPath', а не' UIBezierPath'. (Но 'UIBezierPath' содержат 'CGPath' внутренне, поэтому различие не имеет большого значения.) –