Я хочу измерить силу нажатия при нажатии или перетаскивании кнопки. я создал UITapGestureRecognizer (для отведения) и добавили его в MyButton так:Как добавить 3dtouchforce в UIButton?
UITapGestureRecognizer *tapRecognizer2 = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(buttonPressed:)];
[tapRecognizer2 setNumberOfTapsRequired:1];
[tapRecognizer2 setDelegate:self];
[myButton addGestureRecognizer:tapRecognizer2];
я создал метод, называемый buttonPrssed так:
-(void)buttonPressed:(id)sender
{
[myButton touchesMoved:touches withEvent:event];
myButton = (UIButton *) sender;
UITouch *touch=[[event touchesForView:myButton] anyObject];
CGFloat force = touch.force;
forceString= [[NSString alloc] initWithFormat:@"%f", force];
NSLog(@"forceString in imagePressed is : %@", forceString);
}
я получаю нулевые значения (0.0000) для трогают. любая помощь или совет будут оценены. Я выполнил поиск и нашел проект DFContinuousForceTouchGestureRecongnizer, но нашел его слишком сложным. Я использую iPhone 6 Plus с сенсорным экраном. я также может измерять контакт, когда нажав на любой другой области на экране, но не на кнопки, используя этот код:
- (void)touchesMoved:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
[super touchesMoved:touches withEvent:event];
UITouch *touch = [touches anyObject];
//CGFloat maximumPossibleForce = touch.maximumPossibleForce;
CGFloat force = touch.force;
forceString= [[NSString alloc] initWithFormat:@"%f", force];
NSLog(@"forceString is : %@", forceString);
}
thx joern, попробуй его и сообщит ... –
Joern, я последовал за твоими шагами и создал forceButton как подкласс UIButton. кнопка, которую я хочу измерить силой касания, называется myButton. Я добавил цель: [myButton addTarget: self action: @selector (buttonClicked :) forControlEvents: UIControlEventTouchUpInside]; Я создал метод под названием - (void) buttonPressed: (id) отправитель , но как я могу вызвать метод touchsMoved from forceButton внутри buttonPressed? –
@JeffSab: Вы никогда не называете 'touchhesMoved' себя. Этот метод будет автоматически вызываться системой всякий раз, когда пользователь прикасается к кнопке, а палец немного движется во время этого касания (что всегда на самом устройстве). – joern