【iOS 开发】基础控件:UISegmentedControl

iOS 基础控件 UISegmentedControl

1. UISegmentedControl 的常规使用


// 创建分段控制器
let segmentedControl = UISegmentedControl(items: ["Home", "Circle"])

// 设置 UISegmentedControl 控件位置
segmentedControl.frame = CGRect(x: 25, y: 700, width: 340, height: 38)

// 设置 UISegmentedControl 风格颜色
segmentedControl.tintColor = UIColor.gray

// 监听 UISegmentedControl 事件
segmentedControl.addTarget(self, action: #selector(selectChange), for: UIControl.Event.valueChanged)

self.view.addSubview(segmentedControl)

@objc func selectChange(sc: UISegmentedControl) {
    
    
    print("分段控制器当前页码:\(sc.selectedSegmentIndex)")
}


效果展示:
segmentedcontrol


2. UISegmentedControl 动态更新 item


// UISegmentedControl 动态插入文字 item
segmentedControl.insertSegment(withTitle: "Cart", at: 2, animated: true)

// UISegmentedControl 动态插入图片 item
segmentedControl.insertSegment(with: UIImage(named: "portrait")?.withRenderingMode(UIImage.RenderingMode.alwaysOriginal), at: 3, animated: false)

// UISegmentedControl 修改指定位置的图片
segmentedControl.setImage(UIImage(named: "EyeInvisible")?.withRenderingMode(UIImage.RenderingMode.alwaysOriginal), forSegmentAt: 3)

// UISegmentedControl 修改指定位置的文本
segmentedControl.setTitle("Recommend", forSegmentAt: 1)

// UISegmentedControl 删除指定 item
segmentedControl.removeSegment(at: 3, animated: true)

// 设置 UISegmentedControl item 宽度 40
segmentedControl.setWidth(40, forSegmentAt: 4)

// 设置 UISegmentedControl 自适应内容的宽度
segmentedControl.apportionsSegmentWidthsByContent = true


效果展示:
uisegmentedcontrol-gif


附 Github 源码:

ViewController.swift

猜你喜欢

转载自blog.csdn.net/java_android_man/article/details/122900615