代码之家  ›  专栏  ›  技术社区  ›  smoothumut

uistackview中的按钮没有响应-ios

  •  -2
  • smoothumut  · 技术社区  · 6 年前

    stackview中有3个元素。

    -另一种是密码文本域;

    -最后一个是UIView,里面有按钮。

    当我运行它时,该视图中的按钮没有响应,而stackview中的同一视图正常响应。另外,当我在stackview中放置一个按钮时,它会起作用,但当它在stackview的视图中时,它不会起作用。

    enter image description here 我错过了什么但是什么?

    3 回复  |  直到 6 年前
        1
  •  1
  •   smoothumut    6 年前

    嘿,问题是未定义的约束。这里我只是创建了一个简单的解决方案来帮助您。它并不完美,但会有所帮助 当您使用堆栈视图时,您需要记住一些事情。有两种类型的 stackView 水平和垂直 堆栈视图 堆栈视图 具有以下特性

    轴线 -意思是水平或垂直移动

    对齐 -这很简单,你可以理解,当你看到,填补领导中心和培训

    分配 -在我看来,它是堆栈视图最重要的部分

    • 均匀填充将使每个子视图具有相同的大小,以便它们填充堆栈视图的所有可用空间。
    • 按比例填充使用每个子视图的固有内容大小来按相等的量调整它们的大小。因此,视图1的高度是视图2、3和4的两倍,当它们调整大小时,该比率将保持不变所有子视图按比例变大或变小。

    间距 -间距用于提供标签、按钮等对象之间的间距。

    enter image description here enter image description here

    我将项目15和分布填充之间的间距设置为相等,这样它们就可以填充可供用户使用的空间 stack view

    这是项目的链接 https://github.com/waytorohit/SOreadytohelp 所以你可以更好的理解。

    参考文献- https://www.hackingwithswift.com/read/31/2/uistackview-by-example

        2
  •  0
  •   wm.p1us    6 年前
    1. 首先删除堆栈视图中的视图和按钮,然后重新添加

      @IBAction func clickMe(_ sender: UIButton) {
          print("you click me")
      }
      

      希望工作顺利。

        3
  •  0
  •   Toby Clark    6 年前

    设置按钮后,您可以像其他普通按钮一样添加@IBAction。

    希望有用,托比