Как прекратить использование других представлений за выдвижным меню в Swift

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

любая помощь будет здорово спасибо


person Dom Bryan    schedule 02.03.2015    source источник
comment
привет, я столкнулся с той же проблемой, так ты решил ее? если да, пожалуйста, скажите нам, спасибо так месиво   -  person Rawan    schedule 10.05.2015
comment
@eng_rawan, к сожалению, я так и не нашел хорошего решения, различные вещи, упомянутые ниже, не сработали в моем случае. В результате я использовал Quartzcore и поместил меню на передний план, а затем практически заполнил экран меню. Я попытался создать слой-маску, чтобы выйти за меню (сделав его более тонким для эффекта) и попытался перестать нажимать на маску, но это также не сработало. Если я найду решение, я опубликую его здесь.   -  person Dom Bryan    schedule 11.05.2015


Ответы (2)


установите «setExclusiveTouch: YES» в SlideMenuView.

Из руководства по программированию iPhone OS:

Ограничение доставки события одним представлением:

По умолчанию для свойства ExclusiveTouch представления установлено значение NO. Если вы установите для свойства значение YES, вы пометите представление таким образом, что, если оно отслеживает касания, это будет единственное представление в окне, которое отслеживает касания. Другие представления в окне не могут получать эти касания. Однако представление, помеченное как «эксклюзивное касание», не получает касаний, связанных с другими представлениями в том же окне. Если палец соприкасается с представлением с эксклюзивным касанием, то это касание доставляется только в том случае, если это представление является единственным представлением, отслеживающим палец в этом окне. Если палец касается неэксклюзивного представления, то это прикосновение доставляется, только если нет другого отслеживания пальцев в монопольном представлении.

person OliverD    schedule 02.03.2015
comment
Кажется, я не могу заставить xcode принимать setExclusiveTouch, вы уверены, что он не устарел. Я также читал, что это только перестает касаться других представлений, пока ваш палец касается эксклюзивного представления. - person Dom Bryan; 02.03.2015
comment
Привет, нет, это не устарело: developer.apple.com/library/ios/documentation/UIKit/Reference/ Вы должны установить это в slideMenuView! - person OliverD; 03.03.2015
comment
Ого, извините, я искал setExclusiveTouch, и он сказал, что он устарел. Спасибо мужик оценил. - person Dom Bryan; 04.03.2015
comment
@OliverM привет, в моем приложении я поместил жест в табличное представление, а не в боковое меню, поэтому я не мог использовать ваше решение. так что любая другая идея, пожалуйста? - person Rawan; 10.05.2015

Используйте 1_

import QuartzCore

/* .. */

slideOutMenu.layer.zPosition = 1;

Ваш slideOutMenu будет в верхней части UITableView.

person Mohammad Nurdin    schedule 02.03.2015
comment
Спасибо за вашу помощь, эта работа по размещению представления над tableView, но мне нужно найти способ помешать пользователю выбрать tableview, который за ним. Меню выдвигается примерно наполовину, оставляя видимой часть представления исходной таблицы. Спасибо за вашу помощь, хотя человек, я ценю это - person Dom Bryan; 02.03.2015