如何在TableView单元格Swift中自定义和实现Slider

用户名

谁能建议我如何自定义UISlider并在UITableViewCell中实现它。

我看到了许多用于自定义UISlider的代码,但是我不知道如何在TableViewCell中实现它。

Swift中的答案深表赞赏。

谢谢!

阿比拉米巴拉

尝试一下..!可能是锻炼。

导入AVFoundation

var player = AVPlayer()
var rate = Float()
var timer = NSTimer()
var tag: NSInteger!
var nameArr = NSMutableArray()
var urlArr = NSMutableArray()
@IBOutlet weak var songsTbl: UITableView!

// Slider
@IBOutlet weak var sliderTimer: UISlider!
var clickdArr = NSMutableArray()
var sliderView1: UIView!
var sliderBackground1: UIImageView!
var slider1: UISlider!    
var currentIndex : NSInteger!

在您的cellForRowAtIndexPath中:

var cell : CurrentTuneCell! = tableView.dequeueReusableCellWithIdentifier("CurrentTuneCell") as! CurrentTuneCell
    if(cell == nil)
    {
        cell = NSBundle.mainBundle().loadNibNamed("CurrentTuneCell", owner: self, options: nil)[0] as! CurrentTuneCell;
    }

    cell.selectionStyle = UITableViewCellSelectionStyle.None
    cell.nameLbl.text = "\(self.nameArr[indexPath.row])"
    cell.playBtn.addTarget(self, action: #selector(clickPlay), forControlEvents: .TouchUpInside)
    cell.playBtn.tag = indexPath.row

    if(clickdArr[indexPath.row] as! String == "1")
    {
        cell.playBtn.setTitle("Stop", forState: UIControlState.Normal)
        cell.sliderVw.hidden = false;

        let duration: CMTime = self.player.currentItem!.asset.duration
        let seconds: Float64 = CMTimeGetSeconds(duration)
        let someFloat = Float(seconds)

        let crntDuration: CMTime = self.player.currentTime()
        let crntSeconds: Float64 = CMTimeGetSeconds(crntDuration)
        let myIntValue:Int = Int(crntSeconds)
        cell.nameLbl.text = "\(myIntValue)"

        let crntFloat = Float(crntSeconds)
        cell.slider1.value = crntFloat;
        cell.slider1.maximumValue = someFloat;

        cell.slider1.addTarget(self, action: #selector(sliderValueChange), forControlEvents: .ValueChanged)            
    }
    else
    {
        cell.playBtn.setTitle("Play", forState: UIControlState.Normal)

        cell.sliderVw.hidden = true;
    }
    return cell

点击动作:

func clickPlay(sender: UIButton)
{
    tag = sender.tag

    for(var i=0;i<clickdArr.count;i++)
    {
        if(sender.tag == i)
        {
            let url = "\(self.urlArr[sender.tag])"
            let playerItem = AVPlayerItem( URL:NSURL( string:url )! )
            player = AVPlayer(playerItem:playerItem)

            currentIndex = tag;

            if(self.clickdArr[sender.tag] as! String == "0")
            {
                timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: #selector(updateSlider), userInfo: nil, repeats: true)

                player.rate = 1.0;
                rate = 1.0;
                player.pause()
                player.rate = rate;
                player.play()

                clickdArr.replaceObjectAtIndex(i, withObject: "1")
            }
            else
            {
                player.rate = 1.0;
                rate = 1.0;
                player.pause()

                clickdArr .replaceObjectAtIndex(i, withObject: "0")
            }
        }
        else
        {
            clickdArr .replaceObjectAtIndex(i, withObject: "0")
        }
    }

    self.songsTbl.reloadData()
}

更新滑块

func updateSlider()
{        
         self.songsTbl.reloadData()        
}

func sliderValueChange(sender: UISlider)
{
    let myIntValue:Int64 = Int64(sender.value)

    let timeMake = CMTimeMake(myIntValue,1)

    player.seekToTime(timeMake)
    player.play()
}

在您的Custom Tableviewcell类中

@IBOutlet weak var playBtn: UIButton!
var slider1 : UISlider!
@IBOutlet weak var nameLbl: UILabel!
@IBOutlet weak var sliderVw: UIView!

在awakeFromNib中

   let sliderView1 = UIView(frame: CGRectMake(0, 0, self.frame.size.width, self.frame.size.height))
    self.sliderVw .addSubview(sliderView1)

    let trackImage = UIImage(named: "slider.png")
    let sliderBackground1 = UIImageView(image: trackImage!)
    sliderBackground1.frame = CGRectMake(0, 0, self.sliderVw.frame.size.width, self.sliderVw.frame.size.height)
    slider1 = UISlider(frame: CGRectMake(0, 0, self.sliderVw.frame.size.width, self.sliderVw.frame.size.height))
    let sliderFrame = slider1.frame
    slider1.frame = sliderFrame
    slider1.center = sliderBackground1.center
    slider1.setMinimumTrackImage(UIImage(named: "slider.png")!, forState: .Normal)
    slider1.setMaximumTrackImage(UIImage(named: "blackBox.png")!, forState: .Normal)
    let thumbImage = UIImage(named: "round.png")!
    slider1.setThumbImage(thumbImage, forState: .Normal)
    slider1.minimumValue = 0.0
    slider1.maximumValue = 1.0
    slider1.continuous = true
    slider1.value = 0.0
    sliderView1.addSubview(slider1)

    self.slider1.maximumValue = 1.0;
    self.slider1.minimumValue = 1.0;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在handsontable中的单元格内添加自定义按钮?

来自分类Dev

在自定义Tableview单元格中推送ViewController

来自分类Dev

如何在cellforrow中添加2个不同的自定义单元格?

来自分类Dev

如何在Swift中将值从自定义单元格设置/传递给ViewController

来自分类Dev

如何在TableView内的自定义单元格中识别单击按钮的行索引和节号

来自分类Dev

Swift-如何在单击按钮时在自定义表格视图单元格中获取标签值

来自分类Dev

如何在Swift的tableview单元格中添加自定义imageview?

来自分类Dev

Swift自定义单元格布局TableView的决定

来自分类Dev

Swift:在tableView单元格中设置标签和自定义参数

来自分类Dev

斯威夫特:如何在动态UITableView的自定义单元格中获取滑块的值?

来自分类Dev

如何在自定义单元格中添加删除附件?

来自分类Dev

如何使用Swift在UICollectionView单元格中加载自定义单元格(xib)

来自分类Dev

如何在TableView单元格Swift中自定义和实现Slider

来自分类Dev

如何在自定义tableView单元格中显示JSON值的数组

来自分类Dev

一个UIViewController中的自定义单元格tableview和默认的UITableView

来自分类Dev

在自定义表格视图单元格中本地化按钮和标签[swift]

来自分类Dev

自定义tableview单元格-需要选择单元格,即使按下单元格中的自定义按钮

来自分类Dev

swift的自定义tableview单元格中未显示的数据已在下面添加了单元格类

来自分类Dev

如何在tableview:cellForRow:AtIndexPath中出队正确的自定义单元格类型

来自分类Dev

当在同一单元格中单击按钮时,如何在自定义tableview单元格中隐藏/显示特定视图

来自分类Dev

如何在我的 tableView 单元格中进行自定义操作?

来自分类Dev

如何在自定义 Tableview 单元格下创建 Tableview

来自分类Dev

如何在带有分页的 tableview 自定义单元格中更改 imageview 的图像。

来自分类Dev

如何编辑 masterDetailView 模板以允许在 tableview 中自定义单元格

来自分类Dev

自定义单元格在 TableView 中全白

来自分类Dev

如何在 TableView 中调整自定义单元格的大小?

来自分类Dev

如何在tableView之外获取所有自定义tableview单元格textField和textView值

来自分类Dev

如何使用 Swift 显示从 Viewcontroller B 接收到的值到 Viewcontroller A tableview 自定义单元格文本视图?

来自分类Dev

如何在 Swift 的 tableview 的自定义单元格上显示 JSON 图像?

Related 相关文章

  1. 1

    如何在handsontable中的单元格内添加自定义按钮?

  2. 2

    在自定义Tableview单元格中推送ViewController

  3. 3

    如何在cellforrow中添加2个不同的自定义单元格?

  4. 4

    如何在Swift中将值从自定义单元格设置/传递给ViewController

  5. 5

    如何在TableView内的自定义单元格中识别单击按钮的行索引和节号

  6. 6

    Swift-如何在单击按钮时在自定义表格视图单元格中获取标签值

  7. 7

    如何在Swift的tableview单元格中添加自定义imageview?

  8. 8

    Swift自定义单元格布局TableView的决定

  9. 9

    Swift:在tableView单元格中设置标签和自定义参数

  10. 10

    斯威夫特:如何在动态UITableView的自定义单元格中获取滑块的值?

  11. 11

    如何在自定义单元格中添加删除附件?

  12. 12

    如何使用Swift在UICollectionView单元格中加载自定义单元格(xib)

  13. 13

    如何在TableView单元格Swift中自定义和实现Slider

  14. 14

    如何在自定义tableView单元格中显示JSON值的数组

  15. 15

    一个UIViewController中的自定义单元格tableview和默认的UITableView

  16. 16

    在自定义表格视图单元格中本地化按钮和标签[swift]

  17. 17

    自定义tableview单元格-需要选择单元格,即使按下单元格中的自定义按钮

  18. 18

    swift的自定义tableview单元格中未显示的数据已在下面添加了单元格类

  19. 19

    如何在tableview:cellForRow:AtIndexPath中出队正确的自定义单元格类型

  20. 20

    当在同一单元格中单击按钮时,如何在自定义tableview单元格中隐藏/显示特定视图

  21. 21

    如何在我的 tableView 单元格中进行自定义操作?

  22. 22

    如何在自定义 Tableview 单元格下创建 Tableview

  23. 23

    如何在带有分页的 tableview 自定义单元格中更改 imageview 的图像。

  24. 24

    如何编辑 masterDetailView 模板以允许在 tableview 中自定义单元格

  25. 25

    自定义单元格在 TableView 中全白

  26. 26

    如何在 TableView 中调整自定义单元格的大小?

  27. 27

    如何在tableView之外获取所有自定义tableview单元格textField和textView值

  28. 28

    如何使用 Swift 显示从 Viewcontroller B 接收到的值到 Viewcontroller A tableview 自定义单元格文本视图?

  29. 29

    如何在 Swift 的 tableview 的自定义单元格上显示 JSON 图像?

热门标签

归档