如何在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而不重叠? 的相关文章

  • 具有多种自定义单元格类型的 RxSwift 表视图

    我想知道是否有任何代码示例RxSwift当我可以在一个表视图中使用多个自定义单元格时 例如 我有两个部分 第一部分有 10 个单元格 类型为CellWithImage标识符和第二部分有 10 个带有类型的单元格CellWithVideo标识
  • NSMenuItem、自定义视图和 mouseUp 的奇怪问题:

    我在这里遇到了一个非常非常奇怪的 NSMenu 问题 我使用的大约一半的 NSMenuItems 通过 NSMenuItem 上的 setView 方法具有自定义视图 在此自定义视图中 我实现了 mouseUp 来捕获用户单击菜单项的时间
  • Swift 中 UIImages 的淡入淡出动画

    我有一组图像 我希望它们在登录屏幕的背景中淡出 我无法在 swift 中找到任何可以做到这一点的东西 有什么办法我可以做到吗 这是我当前的代码 override func viewDidLoad super viewDidLoad star
  • 播放(非库)Apple Music 内容 - 请求失败

    我正在尝试使用以下代码播放专辑 let predicate MPMediaPropertyPredicate value 1459938538 forProperty MPMediaItemPropertyAlbumPersistentID
  • 当设置 setVisibleXRangeMaximum 时,iOS-Charts X 轴值无限重复

    我正在尝试绘制一个图表 其中 x 轴是TimeIntervalY 轴是power consumption 由于每天都会有数据 因此将有太多数据无法显示 因此 我想一次显示 5 个值 我通过设置实现了这一点self chart setVisi
  • 我无法捕获 WKWebView 的屏幕截图

    我正在尝试捕获 WKWebView 的屏幕截图 但我的方法无法正常工作 它返回纯色 就好像图层树为空一样 而它似乎适用于其他视图 UIImage screenshot UIImage screenshot UIGraphicsBeginIm
  • Parse.com - 获取 [PFUser currentUser] 中包含的指针数据

    我正在使用 Parse com iOS SDK 并且我不知道需要调用什么方法来确保 PFUser currentUser 包含其中包含的每个指针的数据 这可能很简单 但是 作为这个平台的初学者 我找不到解决方案 只是为了澄清一下 我试图在下
  • 在 viewWillAppear( ) 中获取空值,但在 viewDidLoad( ) 中获取有效值

    When print mess 被称为来自viewDidLoad函数 它打印预期的内容 但是当从viewWillAppear函数 它给出空输出 完成分配后标签也没有更新viewDidLoad 为什么是这样 主视图控制器 if segue i
  • 多个 ViewController(containerView?childView?viewController 的实例?)

    我需要在另一个视图之上添加一个新视图 带有 ViewController 用户与这个新视图交互了一段时间 然后我想将其删除 在旧版本的 Xcode 中 我可以将其添加为子视图 我现在收到 EXC BAD ACCESS 错误 我不希望添加的视
  • 在 iOS 上的 SceneKit 中导入 3d 模型

    从 URL 导入 obj 文件并将其转换为 SCNNode 时遇到问题 这是代码 swift3 let url URL init string https cloud box com shared static ock9d81kakj91d
  • 以编程方式更改 UISlider 的范围

    如何以编程方式设置 UISlider 的最小最大范围 例如 虚拟代码 UISlider slider UISlider alloc init slider min 3 slider max 3 EDIT 所以我有以下内容 sl minimu
  • 删除部分(红色删除按钮),UITableViewController - iOS

    我正在尝试做一个分组的 uitableview 并且我已经激活了编辑选项 我希望用户也能够删除整个部分 而不仅仅是特定行 因此 当您单击 编辑 时 每个表格单元格左侧显示的红色减号按钮也应该显示在各个部分 部分标题左侧 有人知道如何做到这一
  • 使用原始类型+大小写参数的 Swift Enum 的解决方法?

    我想创建 SKSpriteNodesWallType 请参阅下面的代码 并且仅当WallType is Corner通过它Side其方向的价值 枚举具有原始值 因为我需要将它们作为数字从 plist 加载 并能够随机创建它们 enum Si
  • iPhone ImageView序列动画

    嘿 尝试将一个简单的 png 序列动画放入我的应用程序中 我在 IB 中放置了第一个框架 并将图形动画出口连接到它 序列中有 54 个 png 名称为 Comp 1 0000 png 到 Comp 1 00053 png 这是我的代码 vo
  • 监控剪贴板活动可可?

    是否可以在可可中 观看 用户剪贴板 例如 如果我的应用程序是系统托盘样式应用程序 例如 dropbox 客户端 我可以订阅用户在另一个应用程序中点击复制 粘贴时引发的事件吗 你可以随时查看Apple的示例代码 剪贴板查看器 http dev
  • ios - 使用 SIGPIPE 和 SIG_IGN 的信号函数

    我加入了一个旧项目 我发现了这条线 BOOL application UIApplication application didFinishLaunchingWithOptions NSDictionary launchOptions si
  • 我正在寻找 GCDAsyncUdpSocket 上的一些示例,但发现没有一个有效

    接收数据从未被调用过 我编写了这个由我的主线调用的 swift 类UI视图控制器向接收消息的服务器发送消息 但当服务器发回响应时 客户端永远不会收到它 因为 didReceiveData 从未被触发 我一直在谷歌上搜索并查看文档 它说客户端
  • 将子视图发送到后面

    我正在尝试模仿 facebook ios 侧面菜单并让它工作 但是我遇到的问题是我无法将侧面菜单发送到后面 正如另一个问题中所讨论的那样使用 Objective C 的 iphone facebook 侧边菜单 https stackove
  • 如何在 iOS 5 中使用 Embed Segue?

    iOS 6 引入了 Embed Segue 允许在 Storyboard 中使用自定义容器控制器 有没有办法在 iOS 5 上复制这个 这里的挑战是子视图控制器的视图通常要添加为父视图控制器的某些容器视图的子视图 因为你不能随机进行序列UI
  • 在 iPhone 模拟器中从硬盘读取文件

    是否可以将文件 从我的普通文件系统 读入在 iPhone 模拟器上运行的 iPhone 应用程序 据我所知 iPhone 本身没有 用户可访问的 文件系统 但这只是为了测试 并且只能在模拟器中运行 该文件将是一个可以在应用程序运行时编辑的文

随机推荐

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

    我正在做一个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