- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
首先,我不能发布任何代码,但我会尽力描述我的问题。
好的。我创建了一个自定义 Swift View 文件作为 view.xib
并将其加载到我的 view.swift
我加载了那个 Xib
。 Xib 是 imageview
之上的一个简单的 label
。我可以在我的 view.swift
文件中创建我的 IBOutlet
,例如切换图像或更改标签。 view.swift
只是扩展了 UIView
。
现在我将这个 View 集成到我的 Storyboard
中,它有一个 Controller (我们称之为 otherVC.swift
)。现在 otherVC.swift
想要获取 view.swift
被触摸的信息。我尝试设置 IBAction
,但没有设置选项,只能在 IBOutlet
上设置。经过一番谷歌后,我发现类 UiControl
具有设置 IBAction
的机制。
所以我 view.swift
不再扩展 UIView
,而是扩展 UIControl
。之后,我可以创建一个带有触摸事件的 IBAction
。 (如触地或触及内部)在模拟器中使用 View 运行应用程序时,我可以单击 View 但不会调用 IBAction。
所以我的问题是如何在其他 VC 中为我的 View 设置一个 IBAction
或者为特定 View 创建我自己的 IBActions
。
再次..无法发布代码。欢迎使用工作示例的片段或链接
谢谢!
最佳答案
我认为创建自定义 IBAction
会很困难(如果不是不可能的话),但您的问题还有许多其他解决方案,例如委托(delegate)、通知或闭包。我建议您使用闭包,因为在我看来这是最简单的方法。
下面是如何使用闭包实现此目的的示例代码:
class View: UIView {
var someButtonTapped: (UIButton) -> Void = { _ in }
@IBAction private func someButtonTappedAction(_ sender: UIButton) {
someButtonTapped(sender)
}
}
然后在你的 Controller 中添加:
objectOfYourCustomView.someButtonTapped = { (sender: UIButton) in
// Handle action
}
关于ios - 在我的自定义 View 的 Controller 中创建自定义 IBAction,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44845562/
代码应按如下方式工作:在一个 View 上,我单击标签按钮,并且 tagButtonPressed IBAction 应将 tag 变量设置为 sender.tag 的标签按钮。效果很好。然后用户应该
我有一个暂停 IBAction 和一个恢复 IBAction,两者都用于按钮,但我有在游戏过程中收集的游戏点数。我如何在暂停 IBAction 中存储不同的游戏点整数值并将它们传递给恢复 IBActi
我想知道如何从另一个 IBAction 调用 IBAction。我想要做的是,当我触摸 previousPage 上的按钮时,nextPage 按钮的标题会发生变化。换句话说,我有这些IBAction
我得到了这个随机洗牌的 IBAction @IBAction func playRoundTapped(sender: UIButton) { cardNamesArray = GKRando
根据我的标题,我正在构建一个包含一些 UIButtons 的 View 。 我正在考虑将 2 个 Action 连接到一个 UIButton 事件,因为该按钮需要做两件事,但我需要按特定顺序执行它们。
我刚刚注意到在其 IBAction 中设置 UISwitch 的 isOn 会导致再次调用 IBAction。所以下面的代码: class ViewController: UIViewControll
我在一个应用程序上工作,我想使用另一个 UIControllerView 调用一个 UIControllerView 的 IBAction,请帮助我如何实现它。 假设,我有两个名为 FirstView
当我将按钮链接到源代码(在本例中为 .h 文件)并选择 NSButton 作为类型时,Xcode 将写入: - (IBAction)pushClear:(id)sender; 据我了解应该是 - (I
我如何能够根据另一个事件运行 IBAction?例如,我可以使用一段代码来运行 IBAction。 我想做的是让两个不同的按钮运行一个或多个 IBActions。 最佳答案 您可以将多个按钮连接到同一
好吧,我正在 Xcode(版本 3)中为 Mac OS X 编写一个应用程序,但我的 IBactions 遇到了问题。我编写它们,并将它们连接到我的按钮,但由于某种原因,当我单击按钮时它们永远不会被调
+(UIBarButtonItem*) settingsButtonForController:(UIViewController*) viewController{ UIBarButtonI
我对 Xcode 和编码都很陌生,所以请耐心等待,哈哈。我正在为一个科学博览会项目开发我的第一个应用程序,该应用程序基于选项卡,有两个主页。一页包含多个开关;无论哪个开关打开,都决定其他页面上的大按钮
我正在尝试将多个按钮链接到相同的IBAction,以运行类似但不同的代码。代码是将在另一个 View Controller 上单击的图像设置到按钮下的 UIImageView 中。所有按钮都链接到相同
我需要控制用户何时在搜索栏中键入内容。使用文本字段很容易,但我找不到使用搜索栏执行此操作的方法,因为我无法使用 IBActions。 最佳答案 UISearchBar 有属性 id delegate
我正在尝试为 iPhone 创建一个应用程序,我有一个主视图 Controller 和许多其他 View Controller 。这是因为它是一个多 View 应用程序。 在 ViewControll
我有一个 IBAction: - (IBAction)stop:(id)sender { NSLog(@"Called"); if (timer) { [timer i
嗨,我正在尝试通过单击按钮打开图像,在我的 .h 我有 @interface FirstDetailViewController : UIViewController { IBOutlet U
我正在创建一个新类 - 继承自 UITextView 的 UIMyTextView。 我希望此类发送新类型的事件,然后我将使用 IBuilder 将其连接到适当的 IBAction。 怎么做? 最佳答
我正在学习 CS193p Stanford iOS 类(class),并且即将完成作业 3 - 在该作业中,我还将图形计算器转换为适用于 iPad 的通用应用程序。当在计算器中输入程序(例如“x +
我有一个 IBAction,由 UIButton 触发。 在此 IBAction 中,我将应用程序连接到服务器,返回一个 Plist。 在此期间(在我的应用程序连接到服务器和服务器返回该 Plist
我是一名优秀的程序员,十分优秀!