首页 > 解决方案 > 如何通过单击添加按钮和在同一视图控制器中创建的删除按钮来添加和删除视图控制器中的段?

问题描述

import UIKit

class ViewController: UIViewController {

// @IBAction func Btndel(_ sender: Any) {
//}

var Str:String?


override func viewDidLoad() {
    super.viewDidLoad()
    let items = [Str]
    let SegM = UISegmentedControl(items:items as Any as? [Any])
    SegM.selectedSegmentIndex = 0

    SegM.frame=CGRect(x: 70, y: 130, width: 100, height: 50)
    SegM.layer.cornerRadius = 8.0
    SegM.backgroundColor = .orange
    SegM.tintColor = .white

    self.view .addSubview(SegM)



    // Do any additional setup after loading the view, typically from a nib.
}

@IBAction func Btnadd(_ sender: Any)
{
var Str = 0;Str += 1

}


override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}


}

如何通过单击添加按钮在同一视图控制器中创建删除按钮来添加和删除视图控制器中的段

标签: iosswift

解决方案


您可以通过 UISegmentedControl 的insertSegment方法插入段,您可以通过removeSegment方法删除段。让我举个例子。

我在情节提要中创建了 segmentController类及其 UI。下面是用户界面截图。在情节提要中,您可以看到两个按钮 Insert (+) 和 Remove (-) 以及 UISegmentedControl。插入按钮将在特定位置插入段,删除按钮将在特定位置删除段。

段控制器用户界面

下面是segmentController类的代码。

class segmentController: UIViewController {

    @IBOutlet weak var segementControl: UISegmentedControl!

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
    }
    @IBAction func remove(_ sender: Any) {
        segementControl.removeSegment(at: segementControl.numberOfSegments-1, animated: true)
    }
    @IBAction func insert(_ sender: Any) {
        segementControl.insertSegment(withTitle: "\(segementControl.numberOfSegments+1)", at: segementControl.numberOfSegments, animated: true)
    }

}

在上面的代码中,在插入按钮上单击新段将添加到 segementControl 的最后。在删除按钮上单击最后一个段将从段控制中删除。

希望能帮助到你。


推荐阅读