Как отключить мультисенсорный?

Используйте str (ex) для печати исключения

try:
   #your code
except ex:
   print(str(ex))
35
задан cannyboy 3 July 2009 в 16:26
поделиться

4 ответа

Если вы хотите, чтобы только одна кнопка реагировала на прикосновения одновременно, вам нужно установить exclusiveTouch для этой кнопки, а не для родительского представления. В качестве альтернативы вы можете отключить другие кнопки, когда кнопка получает событие «Touch Down».


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

Вам нужно, чтобы розетки в вашем контроллере были подключены к каждой кнопке и подключите события «Touch Down», «Touch Up Inside» и «Touch Up Outside» к правильным методам в вашем контроллере.

#import "multibuttonsViewController.h"

@implementation multibuttonsViewController

// hook this up to "Touch Down" for each button
- (IBAction) pressed: (id) sender
{
    if (sender == one)
    {
        two.enabled = false;
        three.enabled = false;
        [label setText: @"One"]; // or whatever you want to do
    }
    else if (sender == two)
    {
        one.enabled = false;
        three.enabled = false;
        [label setText: @"Two"];  // or whatever you want to do
    }
    else
    {
        one.enabled = false;
        two.enabled = false;
        [label setText: @"Three"];  // or whatever you want to do
    }
}

// hook this up to "Touch Up Inside" and "Touch Up Outside"
- (IBAction) released: (id) sender
{
    one.enabled = true;
    two.enabled = true;
    three.enabled = true;
}

@end
44
ответ дан 27 November 2019 в 06:42
поделиться

Мой опыт показывает, что по умолчанию новый проект даже не поддерживает мультитач, вы должны его включить. Но я полагаю, это зависит от того, как вы начали. Вы использовали пример mutlitouch в качестве шаблона?

Прежде всего, вы абсолютно уверены, что мультитач включен? Можно довольно быстро последовательно создавать отдельные штрихи. Мультитач - это больше похоже на то, что вы делаете двумя или более пальцами, когда они находятся на поверхности. Возможно, у вас есть однократное касание, но вы неправильно справляетесь с тем, что происходит, если две кнопки нажимаются почти одновременно.

0
ответ дан 27 November 2019 в 06:42
поделиться

У вас есть несколько способов сделать это:

4
ответ дан 27 November 2019 в 06:42
поделиться

У меня как раз была такая проблема.

Решение, которое мы придумали, заключалось в том, чтобы просто унаследовать новый класс от UIButton, который переопределяет метод initWithCoder, и использовать его там, где нам нужно было нажимать одну кнопку за раз (т.е. везде):

@implementation ExclusiveButton

(id)initWithCoder: (NSCoder*)decoder 
{ 
   [self setExclusiveTouch:YES]; 
   return [super initWithCoder:decoder]
}

@end

Обратите внимание, что это работает только с кнопками, загруженными из файлов пера.

0
ответ дан 27 November 2019 в 06:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: