草庐IT

action-menu

全部标签

swift - 为什么前导滑动 Action 也被复制为尾随 Action ?

我在我的tableView上实现了前导滑动操作(“删除”),出于我无法弄清楚的原因,它也显示为尾随滑动操作。请看下面的代码:functableView(_tableView:UITableView,leadingSwipeActionsConfigurationForRowAtindexPath:IndexPath)->UISwipeActionsConfiguration?{letdelete1=deleteAction(at:indexPath)returnUISwipeActionsConfiguration(actions:[delete1])}funcdeleteAction

swift - 没有 IB 的一个 Action 的多个按钮

在我的ViewController中,我有10个按钮。每个按钮都有一个标签,所有按钮都调用相同的操作(由开关(sender.tag)分隔,case0->case9以区分选择了哪个按钮)。我用IB制作,将所有按钮(@IBOutlet)连接到相同的@IBAction并且一切正常。但是现在我想在没有IB的情况下以编程方式执行此操作。所以我删除了@IBOutlet和@IBAction以创建新按钮(letmyButton1=UIBUtton())和一个新操作(funcnewAction(sender:UIButton))。我尝试了addTarget:并为所有新按钮使用相同的选择器,但应用程序崩溃

ios - Swift:协议(protocol)方法作为目标 Action 中的 Action

我想要一个协议(protocol):protocolCameraButtonDelegate:class{funccameraButtonDidPress(_sender:UIButton)}因此,我可以将任何客户端分配给一个按钮,例如:cameraButton.addTarget(delegate,action:#selector(cameraButtonDidPress),for:.touchUpInside)但是,它无法编译,因为我必须在action中指定一个特定的函数,例如:cameraButton.addTarget(delegate,action:#selector(AAP

ios - swift : deinit is not calling on back button action

在objective-C中,后退按钮上的dealloc方法被调用。与swift中的类似吗? 最佳答案 正如您所理解的,deinit等同于dealloc。如果它没有被调用,你的对象就不会被销毁,这意味着某些东西对它有很强的引用。这在ObjC和Swift中是相同的。当您删除最后一个强引用时,将调用deinit。dealloc和deinit都与“后退按钮操作”无关。它们只与释放对象有关,通常只执行资源清理。如果您依赖调用它们来响应用户操作,则您可能存在设计错误。 关于ios-swift:dei

ios - 触摸在 UIButton Action 中的位置

我正在尝试获取点击按钮的(x,y)位置。我找到了答案,但它们不适用于Swift2.3。有什么建议么?这就是我尝试过的:@IBActionfuncbuttonTapped(sender:AnyObject,forEventevent:UIEvent){letbuttonView=senderas!UIView;//getanytouchonthebuttonViewiflettouch=event.touchesForView(buttonView)as?UITouch{//printthetouchlocationonthebuttonprint(touch.locationInVie

android:按下完成键时软键盘执行 Action

我有一个EditText。我希望在输入一些文本后,当用户按下软键盘的Done键时,它应该直接执行一些搜索操作,这也是我在按钮单击事件中实现的。 最佳答案 试试这个editText.setOnEditorActionListener(newOnEditorActionListener(){@OverridepublicbooleanonEditorAction(TextViewv,intactionId,KeyEventevent){if(actionId==EditorInfo.IME_ACTION_DONE){//dosometh

android:按下完成键时软键盘执行 Action

我有一个EditText。我希望在输入一些文本后,当用户按下软键盘的Done键时,它应该直接执行一些搜索操作,这也是我在按钮单击事件中实现的。 最佳答案 试试这个editText.setOnEditorActionListener(newOnEditorActionListener(){@OverridepublicbooleanonEditorAction(TextViewv,intactionId,KeyEventevent){if(actionId==EditorInfo.IME_ACTION_DONE){//dosometh

swift - swift 中 "event listeners"的想法如何分为 Action 和协议(protocol)?

我的问题作为一名正在学习Swift的新程序员。我想知道为什么在事件监听器的实现方式之间似乎存在任意划分。在一些教程中,指出您可以简单地在Storyboard上的View元素和ViewController之间拖动以创建Action(事件监听器)。@IBActionfuncclickButtonListener(_sender:UIButton){print("helloworld")}但在后面的教程中,我注意到某些类似事件监听器的功能也以协议(protocol)的形式实现classViewController:UIViewController,UIScrollViewDelegate{f

ios - 目标 Action 模式的快速无法识别的选择器

我正在尝试快速使用手势识别器,但我一直遇到无法识别的选择器崩溃问题。init(coderaDecoder:NSCoder!){super.init(coder:aDecoder)self.addGestureRecognizer(tapRecognizer)tapRecognizer.addTarget(self,action:"respondToTap:")self.userInteractionEnabled=true}funcrespondToTap(#recognizer:UITapGestureRecognizer!)->Void{switchrecognizer.state

ios - 某些 App Actions 打破了 TImer?

我有一个在我的应用程序上运行的计时器,当用户离开View并返回View时,它使用保存和重新加载功能。但是,如果我在我的应用程序上转到不同的选项卡,该选项卡所需的操作似乎会破坏计时器。这是否是由于应用程序中的线程使用和其他选项卡的核心数据打破了计时器计数?这是我的定时器代码更新2:这是我修改后的完整计时器代码......//MARK:-SETTINGUPSETS&TIMERSfunccreateStopTimeForRestFromUserTime(userTime:Int)->Date{letcalendar=Calendar.currentletstopDate=calendar.d