Почему не делает работы UIView.exclusiveTouch?

[AccessDeniedAuthorize(Roles="SuperAdmin")]
public class SuperAdminController : Controller

AccessDeniedAuthorizeAttribute.cs:

public class AccessDeniedAuthorizeAttribute : AuthorizeAttribute
{
    public override void OnAuthorization(AuthorizationContext filterContext)
    {
        base.OnAuthorization(filterContext);

        if(filterContext.Result is HttpUnauthorizedResult)
        {
            filterContext.Result = new RedirectResult("~/AcessDenied.aspx");
        }
    }
}
13
задан Astoria 14 December 2015 в 09:06
поделиться

1 ответ

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

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

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

Он утверждает, что свойство исключительного касания НЕ влияет на касания за пределами кадра вида.

Чтобы справиться с этим в прошлом, я использую главное представление для отслеживания ВСЕХ КАСАЮЩИХСЯ на экране вместо того, чтобы позволить каждой дорожке подпредставления касаться. Лучше всего сделать:

if(CGRectContainsPoint(thesubviewIcareAbout.frame, theLocationOfTheTouch)){
    //the subview has been touched, do what you want
}
18
ответ дан 1 December 2019 в 23:32
поделиться