Xcode Swift 第二个容器中的按钮不起作用
Xcode Swift buttons in second container don't work
我是 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
}
所有按钮功能相同。
容器 class 是 UIInputViewController
Storyboard design picture
4x3 矩阵键盘按钮在第一个容器中工作良好,但 -,+ 按钮在第二个容器中不起作用。
@valid 给我发了一个 link。我读了它并在下面添加了一个class。我将这个 class 分配给了 Snakky 和 Kikko 容器。顺便说一句,Snakky 是一个带有 4x3 按钮的容器,而 Kikko 是一个带有 2 个按钮(-,+)的容器。这是触摸测试功能。当显示 Snakky 时,触摸测试打印“Touch”,但当显示 KiKko 时,触摸测试打印“No touch”。 Kikko 的按钮已显示但无响应。 Kikko 和 Snakky 的屏幕图像如下。
Kikko screen image
Snakky screen image
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 容器添加了高度限制,问题就解决了。
我是 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
}
所有按钮功能相同。
容器 class 是 UIInputViewController
Storyboard design picture
4x3 矩阵键盘按钮在第一个容器中工作良好,但 -,+ 按钮在第二个容器中不起作用。
@valid 给我发了一个 link。我读了它并在下面添加了一个class。我将这个 class 分配给了 Snakky 和 Kikko 容器。顺便说一句,Snakky 是一个带有 4x3 按钮的容器,而 Kikko 是一个带有 2 个按钮(-,+)的容器。这是触摸测试功能。当显示 Snakky 时,触摸测试打印“Touch”,但当显示 KiKko 时,触摸测试打印“No touch”。 Kikko 的按钮已显示但无响应。 Kikko 和 Snakky 的屏幕图像如下。
Kikko screen image
Snakky screen image
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 容器添加了高度限制,问题就解决了。