Ios 按下按钮时更改按钮大小
我的问题是,当手指悬停在按钮上时,如何更改按钮的大小 对不起,如果这个问题已经回答了,但我没有找到任何适合我的结果。 如果已回答,请将该线程链接为答案:)Ios 按下按钮时更改按钮大小,ios,objective-c,uibutton,Ios,Objective C,Uibutton,我的问题是,当手指悬停在按钮上时,如何更改按钮的大小 对不起,如果这个问题已经回答了,但我没有找到任何适合我的结果。 如果已回答,请将该线程链接为答案:) 我已经用UIView试过了,然后用CGRectIntersectsRect听,如果它碰到了按钮。但我认为有一种更简单的方法可以做到这一点。您可以添加一个观察该事件的方法。我想你要找的是触地得分 - (void)initOrSomething { UIButton *button = ... [button addTarget:
我已经用UIView试过了,然后用CGRectIntersectsRect听,如果它碰到了按钮。但我认为有一种更简单的方法可以做到这一点。您可以添加一个观察该事件的方法。我想你要找的是触地得分
- (void)initOrSomething {
UIButton *button = ...
[button addTarget:self action:@selector(buttonPress:) forControlEvents:UIControlEventTouchDown];
}
- (void)buttonPress:(UIButton *)button {
button.frame = CGRectMake(0, 0, 100, 100);
}
如果将自己添加为目标,则应该能够在选择器中更改帧
- (IBAction)buttonPressed:(id)sender {
CGRect f = self.button2.frame;
f.origin.x += 10;
f.size.width += 10;
self.button2.frame = f;
}
使用uicontrol事件触地添加此操作
希望这有助于
- (void)viewDidLoad {
...
UILongPressGestureRecognizer *pressGesture = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(buttonPressed:)];
pressGesture.minimumPressDuration = 0.0;
pressGesture.delegate = self;
[_button addGestureRecognizer: pressGesture];
...
}
- (void)buttonPressed:(UILongPressGestureRecognizer *)rec {
switch (rec.state) {
case UIGestureRecognizerStateBegan:
[UIView animateWithDuration:0.1 animations: ^{
_button.transform = CGAffineTransformMakeScale(0.8, 0.8);
}];
break;
case UIGestureRecognizerStateEnded:
[UIView animateWithDuration:0.1 animations: ^{
_button.transform = CGAffineTransformIdentity;
}];
break;
default:
break;
}
}
这基本上是在用户按住按钮的同时使按钮缩小。当手指抬起时,按钮的大小会回到原来的大小 在触摸屏上悬停不起作用,你必须触摸它。使用下面建议的触地事件。哦,对不起。我的意思是触摸它。但是像UIControlEventTouchDown而不是uicontrolEventTouchUpInside我想这可能就是你的意思:-)当然,我想我唯一要提到的是更改帧可能会(我没有测试,所以我不确定)导致你丢失事件,特别是如果你将帧变小。我没有足够的声誉。