У меня есть собственный подкласс UIView, LineDrawingView. Я имею это как @property в моем главном контроллере представления, и я добавляю это к представлению. Это прекрасно работает - он создает прозрачный вид поверх текущего вида и использует UIBezierPath, touchesBegan, touchesMoved и т. Д., Поэтому вы можете рисовать по всему виду, перетаскивая палец.
Мне нужно сделать этот чертежный вид "L" в форме, чтобы у меня была область в левом нижнем углу, где расположены различные элементы управления. Я не могу придумать способ сделать вид чертежа "L" в форме, за исключением, может быть, добавления двух отдельных прямоугольных видов чертежа, но это не работает, потому что касания прерываются, когда вы перетаскиваете палец из одного прямоугольника в другой. Другое решение, которое я придумала, это добавить другой вид поверх вида чертежа. Этот вид должен предотвращать рисование, и я мог бы также найти в нем свои элементы управления, чтобы они могли использоваться во время рисования.
Я попытался создать UIView и добавить его в качестве подпредставления вида чертежа. Я дал ему оттенок, чтобы я мог проверить, что он присутствует и находится в нужном месте. Я ожидал, что это предотвратит рисование в области нового UIView, но рисование продолжается по всей области LineDrawingView. Я также попытался вставить новый UIView в индекс 2, с LineDrawingView, вставленный в индекс 1. Это все еще не влияло на рисунок.
self.drawView = [[LineDrawingView alloc] initWithFrame:CGRectMake(0, 50, 768, 905)];
[self.drawView setBackgroundColor:[UIColor clearColor]];
// not effective in preventing drawing!!
UIView *controlView = [[UIView alloc] initWithFrame:CGRectMake(0, 530, 310, 575)];
[controlView setUserInteractionEnabled:NO];
[controlView setBackgroundColor:[UIColor grayColor]];
[controlView setAlpha:0.3];
[self.view addSubview:drawView];
[self.drawView addSubview:controlView];
Я хотел бы знать: как я могу ...
Создать "L" -образный чертежный вид?
ИЛИ ЖЕ
Вырежьте часть вида чертежа, чтобы пользователи могли взаимодействовать с тем, что стоит за ним?
ИЛИ ЖЕ
Установить область поверх чертежного вида, где я могу отключить рисование и добавить свои элементы управления?