【问题标题】:How to do it switch ViewControllers with UISegmentedControl?如何使用 UISegmentedControl 切换 ViewController?
【发布时间】:2017-10-26 17:30:22
【问题描述】:

我有三个数组,用于控制段的三个单元格。我做了一个 ViewController。并且数组开始分散在单元格周围,但是我遇到了一个问题,我无法让单元格单元成为第一个。现在我想重拍。

import UIKit
import Parse

class PrognozSegmentViewController: UIViewController,UITableViewDataSource,UITableViewDelegate {

        var soccerString = [Soccer]()
        var basketString = [Basketball]()
        var tennisString = [Tennis]()

        var refresh : UIRefreshControl!

        @IBOutlet weak var tableView: UITableView!
        @IBOutlet weak var segmentControl: UISegmentedControl!
        @IBAction func btnSegment(_ sender: Any) {
            tableView.reloadData()
        }

        func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
            var returnSport = 0
            switch (segmentControl.selectedSegmentIndex) {
            case 0 :

                returnSport = soccerString.count
                break
            case 1 :
                returnSport = basketString.count
                break
            case 2 :
                returnSport = tennisString.count
                break
            default :
                break
            }

            return returnSport
        }

【问题讨论】:

  • 请分享一些代码
  • 可能你忘了设置 tableView.delegate = self 和 tableView.dataSouce = self?

标签: ios swift uiviewcontroller uisegmentedcontrol


【解决方案1】:

你可以从'numberOfRowsInSection'方法中取出var returnSport

var returnSport = 0
var soccerString = [Soccer]()
var basketString = [Basketball]()
var tennisString = [Tennis]()
var refresh : UIRefreshControl!

并将值类型从 Any 更改为 UISegmentedControl

@IBAction func btnSegment(_ sender: Any) {
   returnSport = sender.selectedSegmentIndex
   tableView.reloadData()
}

重新加载数据时,再次调用 numberOfRowsInSection 方法并更改 returnSport 变量

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-25
    • 2010-11-06
    • 1970-01-01
    • 1970-01-01
    • 2014-08-22
    • 2012-04-01
    • 2011-07-13
    相关资源
    最近更新 更多