2012-04-18 4 views
0

Я создаю представление во время выполнения, и я использую его drawRect:, чтобы нарисовать фигуру на нем. На следующем шаге я добавляю подуровень с содержимым изображения к слою представления, а затем показываю его. Оно работает. Но изображение на изображении все еще показано ниже изображения. С view.layer.contents = nil; перед созданием подслоя фигура на представлении удаляется. Но мне нужно показать это снова. С [view setNeedsDisplay]; (звоните drawRect:) Я могу нарисовать его снова.UIView: скрыть рисунок и показать его снова

Есть ли какой-либо (более простой) способ скрыть (или накрыть) эту фигуру и показать ее снова (без удаления и перерисовки)? Благодарю.

Редактировать: Я могу это сделать: layer.backgroundColor = [UIColor blackColor].CGColor; фигура покрыта. Но backgroundColor должен быть прозрачным. Большое спасибо за другие идеи.

ответ

0

Вы можете использовать:

view.layer.hidden = YES; 

Если вы хотите, чтобы скрыть и показать подслой, вы можете держать ссылку на этот подслой, или найти его, заглядывая в view.layer.sublayers.

+0

Спасибо. Но если слой вида скрыт, добавленный подслой, который я добавил, тоже скрыт. – suyama

+0

Вы можете найти подслой, а затем вызвать sublayer.hidden = YES; –

Смежные вопросы