2013-06-20 4 views
1

Я собираюсь попытаться объяснить это наилучшим образом, чтобы я мог, поэтому, пожалуйста, пожалуйста, со мной, и любая помощь будет принята с благодарностью.Удаление объектов из супервизора, нажав на подпункты

В настоящее время у меня есть UIViewController, который размещает его на экране и при его загрузке создает массив CGRects. Затем он добавляет эти CGRects в свой вид в виде подзапросов, заполняя их UIView.

Затем создайте еще один CGRect и поместите его в пределах одного из этих подзонов и заполните его UIImageView. Он настроен на использование CGRectContainsPoint, и если точка находится в одном из UIViewCGRects, он передает данные этому объекту, говоря, что он есть.

Затем я могу нажать UIView, и он будет использовать handleTap: удалить исходную точку UIImageView rect из супер-просмотра.

Теперь проблема, я недавно внедрил NSTimer и запустил ее новые UIImageViews в определенное время. Я также использовал цикл CGRectContainsPoint для цикла для итерации по массиву прямоугольников UIView для проверки прямоугольников размером UIImageView внутри них каждую секунду.

Когда я запускаю программу, я могу щелкнуть, чтобы удалить начальную, но когда я нажму другую, она может или не удалит себя, я не знаю почему. Однако иногда, когда я нажимаю первый пустой квадрат, он удаляет один из других и наоборот.

Я знаю, что я только представил описание того, что я пытаюсь выполнить, но за этим стоит тонна кода, и у меня нет его очень организованного на данный момент. Любая помощь будет замечательной!

ответ

1

Я не очень уверен в вашей проблеме. Но я предполагаю, что вы хотите создать вид, и когда вы нажмете его, он исчезнет сам? И вы пытаетесь добавить многие из этих представлений, но это не работает непосредственно u думаю. Посмотрите, могу ли я помочь. вы можете создать новостной класс для UIView и добавить к нему tapGesture, который будет ссылаться на метод - (void) removeItSelf: (id) sender;

-(void)removeItself:(id)sender 
{ 
    [self removeFromSuperView]; 

} 

и создать любой экземпляр этого представления, он не будет удален без какого-либо значения.