• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - Swift 2 无法将 slider 添加到 UITableView 单元格

[复制链接]
菜鸟教程小白 发表于 2022-12-13 16:11:15 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我正在尝试使用 swift 在 UItableview 中创建一个 slider 单元格,它出现了,但它不起作用,我想实时显示它的值但它不起作用,我尝试使用 action 在 slider 本身上,我尝试更改 Editing Changed 方法也不起作用。

这是我的手 secret 码:

import UIKit


class SliderCell: UITableViewCell {

    @IBOutlet weak var titleLabel: UILabel!
    @IBOutlet weak var maxLegendLabel: UILabel!
    @IBOutlet weak var minLegendLabel: UILabel!
    @IBOutlet weak var slider: UISlider!
    @IBOutlet weak var answerLabel: UILabel!


    override func awakeFromNib() {
        super.awakeFromNib()
        // Initialization code
        slider.userInteractionEnabled = true
        slider.continuous = true
        //  slider.addTarget(self, action: #selector(sliderValueChanged), forControlEvents: UIControlEvents.ValueChanged)

    }

    override func setSelected(selected: Bool, animated: Bool) {
        super.setSelected(selected, animated: animated)

        // Configure the view for the selected state
    }

    @IBAction func sliderAction(sender: UISlider) {
        print("slider ACTION value")
        print(sender.value)
    }

    func sliderValueChanged(sender: UISlider) {
        print("slider value")
        print(sender.value)
        answerLabel.text = "Your choice : " + String(sender.value)

    }

    func displayBlock(block: Block){
        titleLabel.text = block.title
        minLegendLabel.text = block.range?.legendMin
        maxLegendLabel.text = block.range?.legendMax
        slider.minimumValue = Float((block.range?.min)!)!
        slider.maximumValue = Float((block.range?.max)!)!
        slider.value = 1
    }
}

这是我在 my tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell 方法中声明它的方式:

let cell = tableView.dequeueReusableCellWithIdentifier(CurrentFormTableView.CellIdentifiers.SliderCell, forIndexPath: indexPath) as! SliderCell
                cell.displayQuestion(block)
                cell.selectionStyle = UITableViewCellSelectionStyle.None
                tableView.rowHeight = UITableViewAutomaticDimension
                tableView.estimatedRowHeight = 160.0
                return cell



Best Answer-推荐答案


在表格 View 单元格中添加:

sliderDemo = UISlider(frame:CGRectMake(0, 0, 200,20))
    var numberOfSteps : NSInteger = numbers.count - 1
    sliderDemo.minimumValue = 6.5
    sliderDemo.maximumValue = 4.1
    sliderDemo.continuous = true
    sliderDemo.value = 4.0
    sliderDemo.addTarget(self, action: "sliderValueDidChange:", forControlEvents: .ValueChanged)
    self.view.addSubview(sliderDemo)

func sliderValueDidChange(sender:UISlider!)
{
    println("number:\(sender.value)")
}

关于ios - Swift 2 无法将 slider 添加到 UITableView 单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36939954/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap