ios - 第二个容器中的 Xcode Swift 按钮不起作用
问题描述
我是IOS编程的新手。我面临一个问题。在我的应用程序中有一个viewController
并且在这个视图控制器中有 2 个容器。两个容器中都有按钮。所有容器在开始时都是隐藏的。当发生特定情况时,会出现这些容器之一。当显示第一个容器时,此容器中的按钮工作正常,但如果显示其他容器,则此容器中的按钮不起作用。此容器中的按钮出现但不起作用。所有这两个容器都是相同的。我不明白为什么第二个容器的按钮不起作用。
任何帮助将不胜感激。
我的一些与此问题相关的代码是;
@IBOutlet weak var Snakky: UIInputView!
@IBOutlet weak var Kikko: UIInputView!
if(vmcType == 1)
{
Snakky.accessibilityActivate()
Snakky.isHidden = false
Kikko.isHidden = true
}
if(vmcType == 2)
{
Kikko.accessibilityActivate()
Snakky.isHidden = true
Kikko.isHidden = false
}
//One of my button function;
@IBAction func bkey0(_ sender: Any) {
keypadKeys += "0";
print("Keypad=", keypadKeys)
return
}
所有按钮功能都相同。
容器类是UIInputViewController
4x3 矩阵键盘按钮在第一个容器中运行良好,但 -、+ 按钮在第二个容器中不起作用。
@valid 给我发了一个链接。我读了它并在下面添加了一个类。我将这个类分配给 Snakky 和 Kikko 容器。顺便说一句,Snakky 是一个带有 4x3 按钮的容器,而 Kikko 是一个带有 2 个按钮(-,+)的容器。这是触摸测试功能。当显示 Snakky 时,触摸测试打印“触摸”,但当显示 KiKko 时,触摸测试打印“无触摸”。Kikko 的按钮显示但无响应。Kikko 和 Snakky 屏幕图像如下。
class PassThroughView: UIView {
override func point(inside point: CGPoint, with event: UIEvent?) ->
Bool {
for subview in subviews as [UIView] {
if !subview.isHidden && subview.alpha > 0 &&
subview.isUserInteractionEnabled && subview.point(inside:
convert(point, to: subview), with: event) {
print("Touch")
return true
}
}
print("No touch")
return false
}
}
解决方案
我解决了这个问题。这是非常奇怪的情况。我只向 Kikko 容器添加了高度限制,问题就解决了。
推荐阅读
- android - 在android中将searchview扩展到全长
- html - 检测div何时出现(jquery)
- vue.js - 向 VUE 中的动态对象添加“必需”验证
- python - 如何根据python中不同文件的变量名添加值
- notion-api - 使用概念 API 进行授权时出现错误“缺少或无效的 redirect_uri”
- c++ - 渲染单个事物而无需在 sdl 中清除整个屏幕
- visual-studio-code - VS 代码在创建新主题时显示警告
- excel - 当我尝试更改 Excel 单元格的值时,VBA 宏崩溃
- laravel - 在 Laravel 中解析模型中的 Json 内容
- java - 使用 ConfigurationFactory(Log4j 的编程配置)时如何从 application.properties 读取属性?