У меня есть спецификация для создания очень простой возможности построения диаграмм в приложении MonoTouch. Все, что мне приходилось делать до сих пор, было основано на таблице, так что это новая территория.
Многочисленные примеры построения диаграмм можно найти в магазине приложений, например приложения MindMeister и SimpleMind.
Мне нужно, чтобы пользователи могли щелкнуть представление, чтобы «отложить» новую форму, пометить ее и, при необходимости, соединить ее с существующей формой.
Что было бы хорошим подходом для достижения такой интерактивной функциональности? Сначала я бы поставил UIImageView
, созданный из пользовательского изображения, а затем убедился, что он может реагировать на события касания, чтобы перемещать его. Однако, когда вы хотите добавить наложение текста, все становится сложнее, поскольку вам придется управлять двумя представлениями (и изображением, и текстом).
Какому подходу я мог бы следовать?
PS: Смей по желанию, если это неуместно для ТАК!
Обновление: основные элементы диаграммы можно получить с помощью простого переопределения метки:
UILabel lbl = new UILabel(new RectangleF(...));
lbl.Text = "Whatever";
lbl.Layer.BorderWidth = 3f;
lbl.Layer.BorderColor ( new CGColor (1f, 0f, 0f) );
this.Add (lbl);
Некоторой интерактивности можно добиться, расширив класс элементов графического интерфейса и переопределив события TouchesBegan
, TouchesMoved
и TouchesEnd
.