Я работаю над приложением для полупиано с другой раскладкой клавиатуры, чем обычно.
Я создал вид вручную с помощью кнопок UIB, моя проблема была в том, что я не знал, как скользитьиз UIButton в другой, я понял это с помощью addTarget с опцией withEvent, которая дала мне доступ к прикосновениям.
Теперь, после того как я добавил цель следующим образом:
[C addTarget:self action:@selector(outsideOfKey: forEvent:) forControlEvents:UIControlEventTouchDragOutside|UIControlEventTouchDragInside];
[C addTarget:self action:@selector(keyGetsLeft: forEvent:) forControlEvents:UIControlEventTouchUpOutside | UIControlEventTouchUpInside];
(также для всех остальных клавиш),
Мне удалось сделать их скользящими,
outsideOfKey:forEvent:
выглядит следующим образом:
-(void) outsideOfKey:(id)sender forEvent:(UIEvent *)event
{
for(UITouch *t in [event allTouches])
{
CGPoint touchPoint = [t locationInView:window];
if(CGRectContainsPoint(C.frame, touchPoint))
{
C.highlighted = YES;
}
else{
C.highlighted = NO;
}
(Готово длявсе остальные клавиши тоже) Я могу скользить из и в другие клавиши, и когда я оставляю их в keyGetsLeft:forEvent
: я только что использовал тот же синтакс без остального, и выделенный стал НЕТ.
Наверхздесь легко, но потом, когда я пытаюсь сделать мультитач, я могу скользить только одним касанием, а остальные должны оставаться в том же положении.
И даже больше, если я беру одинвсе пальцы становятся не подсвеченными, я знаюпричины всего этого, но я не знаю, как это исправить и заставить его работать.