gpt4 book ai didi

ios - Xcode iOS下推按钮,然后在第二个按钮上向上拖动

转载 作者:行者123 更新时间:2023-12-01 17:19:46 26 4
gpt4 key购买 nike

可以说我不想在整数上加1。仅当我按下UIButton然后放开另一个UIButton的手指时,才能完成此操作。 拖动组合。 我可以使IBAction脱离组合的最简单方法是什么?这可以通过触摸坐标来完成,也可以仅通过UIButtonsIBActions来完成。

如何使用IBActions创建2按钮组合

最佳答案

尝试将希望触摸的按钮实现为“Touch Down”,“Touch Up Inside”和“Touch Up Outside”按钮。

UIButtons可以响应许多不同类型的事件
触摸取消
触地得分
降落重复
触摸拖动Enter
触摸拖动退出
触摸向内拖动
触摸向外拖动
内部润饰
外面修饰

您可以为每个按钮的每个按钮实施不同的操作代码,以最佳地控制所需的操作。简单的情况仅使用上面提到的2。

该代码已经过测试并且可以正常工作

在您的ViewController头文件中(这里是我的):

@interface ViewController : UIViewController{
IBOutlet UIButton * upButton; // count up when finger released button
IBOutlet UIButton * downButton;
IBOutlet UILable * score;
BOOL isButtonDown;
unsigned int youCounter;
}

-(IBAction)downButtonDown:(id)sender;
-(IBAction)downButtonUpInside:(id)sender;
-(IBAction)downButtonDragOutside:(id)sender event:(UIEvent *)event;
-(IBAction)downButtonUpOutside:(id)sender event:(UIEvent *)event;

@end

在您的.xib中,将“向下”按钮(您希望成为原始手指按下的按钮)连接到上面的适当操作。

在您的ViewController.m文件中
-(void)viewDidLoad{
[super viewDidLoad];

isButtonDown = NO;
youCounter = 0;
}

-(IBAction)downButtonDown:(id)sender{
isButtonDown = YES;
}

-(IBAction)downButtonUpInside:(id)sender{
isButtonDown = NO;
}

-(IBAction)downButtonDragOutside:(id)sender event:(UIEvent *)event{
NSArray theTouches = [[event allTouches] allObjects];

[downButton setHighlighted:YES];

if(YES == [upButton pointInside:[[theTouches objectAtIndex:0] locationInView:upButton] withEvent:event]){
[upButton setHighlighted:YES];
}else{
[upButton setHighlighted:NO];
}
}

-(IBAction)downButtonUpOutside:(id)sender event:(UIEvent *)event{
if(YES == [upButton pointInside:[[theTouches objectAtIndex:0] locationInView:upButton] withEvent:event]){
youCounter++;
score.text = [NSString stringWithFormat:@"Score = %d", youCounter];
}

[downButton setHighlighted:NO];
[upButton setHighlighted:NO];
}

关于ios - Xcode iOS下推按钮,然后在第二个按钮上向上拖动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11121827/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com