ios - UISlider和UILabel导致无限循环

标签 ios swift xcode uilabel uislider

我有以下代码,用于创建 slider 和标签并将其添加到 View 中。一旦我移动 slider ,它就会在 AppDelegate 类中给出 SIGABRT 并进入无限循环。我不明白我做错了什么(如果我只添加 slider ,它就可以正常工作)

class test: UIView {   

   var value: Float

   override func drawRect(rect: CGRect) {
      self.addSubview(getSlider())
      self.addSubview(getLabel())   
   }

   override init(frame: CGRect) {
      value = 0.9
      super.init(frame:frame)   
   }

   func getSlider()-> UISlider {
      let slider: UISlider = UISlider(frame: CGRectMake(10,10,self.frame.width,30))
      slider.addTarget(self, action:"change", forControlEvents:UIControlEvents.ValueChanged)
      return slider   
  }

   func getLabel()-> UILabel {
      let label = UILabel(frame: CGRectMake(10,50,50,50))
      label.text = "\(value)"

      return label   
   } 

 func change(sender: UISlider) {
    value = sender.value
 }

最佳答案

如果您的函数需要一个值,则在引用它时需要添加 :

slider.addTarget(self, action:"change:", forControlEvents:UIControlEvents.ValueChanged)

关于ios - UISlider和UILabel导致无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42028418/

相关文章:

ios - 更新到 OS2 后 WatchKit EXEC_BAD_INSTRUCTION 错误

ios - 在 UITableViewCell 上重新渲染 subview 的最佳实践

iphone - 将 UIWebView 适配到 UITableViewCell

ios - 仅本地图靠近屏幕边缘时,如何才能将 map 置于注释 View 的中心?

ios - 使用 swift 播放实时音频

ios - 当 XIB 没有时,UIImageView 在模拟器中调整大小

php - 秦牛:始终返回“405不允许”

json - Swift JSONSerialization 将 double 值隐式转换为字符串

ios - 如何在 Swift 中使用新的 Firebase 3.2.1 向我的 Firebase 应用程序指定提供程序(Facebook、Google)的用户进行身份验证

javascript - 在 xcode 中的选定文本周围插入双引号