Невозможно ограничить прослушиватель событий щелчка за пределами области LeftNavButton и RightNavButton?

Я создал один пример приложения из сплава в студии appcelerator. Когда я нажимаю на внешнюю кнопку (изображение), также выполняется событие. Как ограничить событие щелчка, если я выполняю событие за пределами LeftNavButton или RightNavButton. Может ли кто-нибудь помочь мне.

signIn.js:

$.signInWin.addEventListener('open', function() {

        Ti.API.info('signInWin open');

        var titleLabel = Ti.UI.createLabel({ text: 'Log In', width: Ti.UI.SIZE});
        $.signInWin.setTitleControl(titleLabel);

        var leftButton = Titanium.UI.createButton({
            backgroundImage : '/left_arrow.png'
        });
        $.signInWin.setLeftNavButton(leftButton);

        var rightButton = Titanium.UI.createButton({
            backgroundImage : '/right_arrow.png'
        });
        $.signInWin.setRightNavButton(rightButton);

        leftButton.addEventListener('click', function(e) {
            Ti.API.info(' event performed on left button');

        });

        rightButton.addEventListener('click', function(e) {
            Ti.API.info(' event performed on right button');

        });
});

signIn.tss:

"#signInWin":{
    backgroundColor: '#ffffff',

}
"#signInNav":{
    backgroundColor: '#00a2f7',

}

signIn.xml:

<Alloy>
    <NavigationWindow id="signInNav" platform="ios">
        <Window id="signInWin">

        </Window> 
    </NavigationWindow>
</Alloy>

Образец экрана

введите здесь описание изображения


person Chanakya    schedule 10.02.2016    source источник


Ответы (1)


Щелчковая область rightNavButton/leftNavButton расширяет саму кнопку на несколько пикселей. Это родное поведение iOS. Чтобы решить эту проблему, вы можете обернуть кнопку внутри Ti.UI.View с фиксированным height. Это должно решить вашу проблему довольно легко!

person Hans Knöchel    schedule 10.02.2016