Как да спрете използването на други изгледи зад плъзгащо се меню в 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 сигурни ли сте, че не е остарял. Също така прочетох, че това спира да докосва други изгледи само докато пръстът ви е докоснат надолу по ексклузивния изглед.‹br›Благодаря, човече, всяка помощ се оценява - 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

Използвайте QuartzCore

import QuartzCore

/* .. */

slideOutMenu.layer.zPosition = 1;

Вашето slideOutMenu ще бъде отгоре на UITableView.

person Mohammad Nurdin    schedule 02.03.2015
comment
Благодаря за вашата помощ, това работи за поставянето на изгледа над tableView, но трябва да измисля начин да спра потребителя да избере табличния изглед зад него. Менюто се плъзга около половината, оставяйки част от изгледа на началната таблица видим. Благодаря за помощта ти, но човече, оценявам я - person Dom Bryan; 02.03.2015