如何在UIButton中实现两个IBAction而不重叠?

2024-01-28

I drag 2 IBA行动 from a UIButton,第一个是 touchDown 事件,第二个是拖动 Inside。

- (IBAction)clickButton:(UIButton *)sender {
    NSLog(@"Click Button");
}

- (IBAction)dragInsideButton:(UIButton *)sender {
    NSLog(@"Drag Button");
}

但是当我向内拖动时,touchDown 操作也会被触发。

如何在拖动时禁用 touchDown 事件。

Thanks!


我已经使用拖动事件解决了这样的问题

在 .xib 文件中或以编程方式将事件添加到按钮。

以编程方式是:

[mybut addTarget:self action:@selector(dragBegan:withEvent: )
  forControlEvents: UIControlEventTouchDown];
    [mybut addTarget:self action:@selector(dragMoving:withEvent: )
  forControlEvents: UIControlEventTouchDragInside];
    [mybut addTarget:self action:@selector(dragEnded:withEvent: )
  forControlEvents: UIControlEventTouchUpInside |
     UIControlEventTouchUpOutside];

事件的定义是:

- (void) dragBegan: (UIButton *) c withEvent:ev
{
    NSLog(@"dragBegan......");
    count=NO;//bool Value to decide the Down Event
    c.tag=0;
  [self performSelector:@selector(DownSelected:) withObject:mybut afterDelay:0.1];
 //user must begin dragging in 0.1 second else touchDownEvent happens

}

- (void) dragMoving: (UIButton *) c withEvent:ev
{
    NSLog(@"dragMoving..............");
    c.tag++;
}

- (void) dragEnded: (UIButton *) c withEvent:ev
{
    NSLog(@"dragEnded..............");
    if (c.tag>0 && !count)
    {

        NSLog(@"make drag events");

    }

}



-(void)DownSelected:(UIButton *)c
{
    if (c.tag==0) {
        NSLog(@"DownEvent");
        count=YES;//count made Yes To interrupt drag event
    }

}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在UIButton中实现两个IBAction而不重叠? 的相关文章

  • cordova-plugin-whitelist 适用于 Android,但不适用于 iOS (Phonegap Build)

    我正在开发一个用 Cordova 封装并使用 Phonegap Build 构建的 JavaScript 应用程序 我们包括cordova plugin whitelist来自我们构建中的 npm 并添加了
  • Swift 中的弹出视图

    我有一个弹出视图 没有选项卡栏 它弹出到带有选项卡栏的视图控制器 在带有选项卡栏的视图控制器中 我设置了一个单击按钮 以便弹出视图控制器 IBAction func PopUpClicked sender UIButton gt Void
  • 应用程序图标未刷新

    我更改了新版本应用程序中的图标图像 并且我在设备中安装了旧版本应用程序 然后我安装了新版本 它在 iOS 5 中运行良好 但在 iOS 6 中 图标没有刷新 它仍然显示旧版本图标 徽标 如果没有安装旧版本应用程序 该设备在 iOS 5 和
  • 适用于 iOS 的 Google Cast SDK 2.3.0 不支持 64 位

    似乎是适用于 iOS 的 Google Cast SDK 2 3 0 版本 https developers google com cast downloads GoogleCastFramework 2 3 0 Release zip停止
  • 自动调整大小完成后如何获取帧大小

    我想知道 如何以及何时 viewDidLoad viewWillAppear viewDidAppear 可以获得自动调整大小以适合其父视图的 UIViews 框架大小 从你的问题中不清楚你为什么想要它 但我想这是为了布局你的子视图 幸运的
  • Objective-C 实例变量?

    我确信我在这里的困惑只是因为陷入 Java 思维方式 并且不理解 Obj C 在这种情况下有何不同 在Java中 我可以在类中声明一个变量 就像这样 并且每个instance该类的 将会有它自己的 MyClass String myVar
  • iOS Swift 检测键盘事件

    我能以某种方式检测来自 iOS 键盘的事件吗 我想检测此类事件UIViewController哪个没有UITextField或任何此类物体 我只有四个圆圈UIView我想在按下键盘上的按钮时将它们涂成不同的颜色 您没有任何对象可以从键盘获取
  • 如何等待 webViewDidFinishLoad 完成

    我有一个初始化 webView 的布尔条件 并在 webViewDidFinishLoad 中加载另一个委托 以便在完成完成后触发 但是 由于布尔值在条件 webViewDidFinishLoad 之前返回 因此页面永远不会完全加载 如何确
  • 如何向 JSQMessagesViewController 单元添加自定义视图,使其包含一个带有一些按钮和文本视图的视图?

    我在用https github com jessesquires JSQMessagesViewController issues 1820 https github com jessesquires JSQMessagesViewCont
  • 使用 UIImagePickerController 的应用程序在拍照后选择“使用照片”时冻结

    我现在正在开发一个简单的照片和视频捕获应用程序 该应用程序成功地允许用户按下按钮即可拍摄照片或视频 但是 一旦您完成拍摄照片或视频 它就会提供 2 个选项 重新拍摄 和 使用照片 或 使用视频 具体取决于您使用的选项 如果用户点击 重新拍摄
  • 尝试从独立的 Apple Watch 应用发出网络请求

    当应用程序是独立应用程序时 Apple Watch 是否无法进行网络通话 即使手表已连接到 iPhone 我正在使用新的独立应用程序目标 它没有附带可以发出 WatchConnectivity 请求的配对 iOS 应用程序 我十有八九收到
  • 在 iOS 中录制音频并永久保存

    我制作了 2 个 iPhone 应用程序 可以录制音频并将其保存到文件中并再次播放 其中之一使用 AVAudiorecorder 和 AVAudioplayer 第二个是苹果的在这里说话 http developer apple com l
  • 从 RemoteIO 保存音频的示例?

    我进行了搜索 但没有找到任何从 RemoteIO 音频单元保存音频的好示例或教程 我的设置 使用 MusicPlayer API 我有几个 AUSamplers gt MixerUnit gt RemoteIO 音频播放效果很好 我想添加将
  • 如何将十六进制数组转换为 UIImage?

    有几个与使用 P25mi 动态打印图像相关的未解答问题 没有一个得到公认的答案 下面有几个链接 如何将图像转换为位图代码以便在 iPhone 中进行蓝牙打印 https stackoverflow com questions 1383828
  • 如何使用自签名证书为 TLS 创建 iOS NWConnection?

    我正在尝试将 Apple 的新 NWConnection 类用于我的 MQTT 客户端 为了进行测试 我需要能够创建到本地测试代理的 TLS 连接 该代理具有自签名证书 到目前为止 我只是使用以下命令设置连接 self connection
  • 在 Swift 中检查一个数组是否包含另一个数组的所有元素

    我想为数组编写一个扩展来检查一个数组是否包含另一个数组的所有元素 在我的用例中它是字符串对象 但我一直得到 Cannot convert value of type T Generator Element to expected argum
  • UIImage:如何获取网站选项卡图标

    我正在开发一个 RSS 阅读器 我需要获取每个提要的图标 例如 如果我的提要是 google com 我想获取 G 图标并将其放入 UIImage 或其他内容中 关于如何实现这一目标有什么想法吗 最简单的方法是使用 Google NSStr
  • Cognito/IAM 策略和 S3 获取对象

    我正在尝试将 S3 和 Cognito 集成到我的 iOS 应用程序中 但到目前为止尚未成功 我相信该错误与我针对 Auth 和 Unauth 用户的 IAM 策略有关 所以这是我的政策 Version 2012 10 17 Stateme
  • 如何在ios中以编程方式添加水平间距和垂直间距?

    我在 ios 8 中创建了一个应用程序 因为我有 4 个可垂直使用的标签 它应该在某些条件下更改位置 所以我已禁用自动布局并以编程方式设置约束 现在的问题是 我可以设置水平和垂直位置 宽度和高度的约束 但我找不到任何方法来添加标签之间的水平
  • Swift 中 UIImages 的淡入淡出动画

    我有一组图像 我希望它们在登录屏幕的背景中淡出 我无法在 swift 中找到任何可以做到这一点的东西 有什么办法我可以做到吗 这是我当前的代码 override func viewDidLoad super viewDidLoad star

随机推荐

  • 如何为文本冒险游戏实现调度表?

    我正在做一个C 中的文本冒险 http code google com p escape text rpg source browse Escape 有人建议我使用调度表 http en wikipedia org wiki Dispatc
  • SpriteKit 场景中出现意外的物理主体

    我正在使用 SpriteKit 实现一个质量弹簧系统 许多小型物理体与 SKPhysicsJointSpring 实例连接在一起 一些粒子在穿过场景中心时会被卡住 场景中央似乎有一个静止的小物体 我不知道它为什么在那里 这是一个简单的方法来
  • 如何在家设置 git lfs 服务器?

    我正在利用git lfs用于在 github 存储库中存储大文件 唯一的问题是有配额git lfs 具体来说 您每月只能存储 1 GB 并且只能流式传输 下载 1 GB 用完后 您必须支付 5 美元才能再获得 5 GB 这可能会变得昂贵 我
  • SVG 中的厚贝塞尔曲线,无伪影

    我尝试画粗一点贝塞尔线 http pomax github io bezierinfo 对于自定义桑基图 http bost ocks org mike sankey 我用SVG 路径 https developer mozilla org
  • 当 HTTPContext .Current 为 Nothing 时如何使用 Server.MapPath

    当我需要从网络服务器上的目录中删除一些图像文件时 我有一些代码可以正常工作 Dim ImageURL As String dsImages Tables 0 Rows iImgRow Item ImageURL Dim physicalNa
  • Visual Studio 中的“将所有警告视为错误,除了...”

    在 Visual Studio 中 我可以选择 将警告视为错误 选项 以防止在出现任何警告时编译我的代码 我们的团队使用此选项 但我们希望保留两个警告作为警告 有一个选项可以抑制警告 但我们确实希望它们显示为警告 所以这是行不通的 看来获得
  • 在 CNTLM 代理后面使用 pip

    我正在尝试在工作中使用代理后面的 pip 答案之一来自这个帖子 https stackoverflow com questions 9698557 how to use pip on windows behind an authentica
  • WPF 如何处理与 null 对象的属性的绑定?

    我有一个使用 itemTemplate 的 listBox 其中包含以下行
  • Access SQL 中的转义 '

    我正在尝试用 vba 进行域查找 如下所示 DLookup island villages village txtVillage 这工作正常 直到 txtVillage 类似于 Dillon s Bay 此时撇号被视为单引号 并且我收到运行
  • 将 gif 图像粘贴到 NSPasteboard 中

    我正在开发 osx 应用程序 我想粘贴一个Gif图像到粘贴板 我怎样才能做到这一点 我拥有的是 NSImage NSP纸板 我想做的是将图像粘贴到粘贴板中 我可以粘贴PNG图像 但我需要的是粘贴GIF image 我现有的代码 let im
  • Angular 客户端错误记录到服务器

    我想将客户端角度错误记录到服务器 所以我遵循this https stackoverflow com questions 43530156 angular 2 client side errors and this https stacko
  • 如何以编程方式触发 UIContextMenuInteraction 上下文菜单?

    我已将 UIButton 设置为 UINavigationController 内 UIViewController 中的 rightBarButtonItem 并将 iOS13 上下文菜单与其关联 长按按钮会按预期显示上下文菜单 有没有办
  • 内联样式无需引号即可工作

    例如 我有这把小提琴 http jsfiddle net qeBZk 您可以清楚地看到我缺少内联样式中的引号 但它仍然正确显示 据我所知 他们从来没有说过不使用引号是允许的 那么 是这样的 jsFiddle 中的一个错误 一个预期的功能 如
  • 开发中如何编辑Docker容器中的代码?

    我所有网站的代码都在下面 srv在我的容器中 我的 Dockerfile 使用 git 下载代码 并将其作为映像的一部分 以便更轻松地部署到生产环境 那么在开发中如何编辑代码呢 我认为使用卷是解决方案 例如 v docker myconta
  • 活动“死亡”时服务崩溃

    我有一个启动服务的活动 在我的活动中 startService new Intent this MyService class 在我的服务中 onStart Show notification int icon R drawable ico
  • 在 Vaadin 中获取组件的准确宽度和高度

    在vaadin中 如果我将宽度和高度设置为未定义 那么在使用getHeight getWidth 函数时我将得到 1 如果我使用 sizeful 我会得到 100 但是如何获得组件的准确宽度和高度呢 您可以通过调用 javascript 函
  • jquery:如何找到当前元素之前2个元素的元素

    我有一个如下所示的标记 h3 Paragraf3 dummytext h3 p a Quisque id odio Praesent venenatis metus at tortor pulvinar varius Lorem ipsum
  • Laravel Sail 数据库和用户未创建

    我刚刚使用 laravel sail 设置了一个 laravel 项目 由于某种原因 在构建过程中它没有创建给定的数据库和用户 我很困惑为什么 因为我觉得我已经配置了所有正确的东西 执行时 vendor bin sail artisan m
  • 使用未在 swagger 中公开的 HTTP 内容上传 API 文件

    我正在将 swagger 接口实现到现有的 Web API 中 当前的 API 控制器公开了一个异步上传函数 该函数使用Request Content异步传输图像 已使用的代码在中进行了解释this http www c sharpcorn
  • 如何在UIButton中实现两个IBAction而不重叠?

    I drag 2 IBA行动 from a UIButton 第一个是 touchDown 事件 第二个是拖动 Inside IBAction clickButton UIButton sender NSLog Click Button I