UIKit框架-高级控件Swift版本: 8.UISegemtedControl方法/属性详解
来源:互联网 发布:知果果 知呱呱 编辑:程序博客网 时间:2024/06/06 10:04
前面我们讲完 iOS 控件中的两个提示性控件, 现在让我们继续往下看.
1.UISegemtedControl的常用属性
// 1.初始化时设置 UISegemtedControl 的 Item 数组init(items: [AnyObject])// 2.设置 UISegemtedControl 点击之后是否瞬间弹起, (默认是 false)var momentary: Bool// 3.获取 UISegemtedControl 里有的分段按钮个数 var numberOfSegments: Int { get }// 4.设置 UISegemtedControl 是否基于内容自动调整尺寸, 默认是 false, 前提是要不设置 UISegemtedControl 的尺寸var apportionsSegmentWidthsByContent: Bool// 5.获取 UISegemtedControl 可点击的 Item 数量var selectedSegmentIndex: Int// 6.设置 UISegemtedControl 的样式颜色var tintColor: UIColor!
2.UISegemtedControl的常用方法
// 1.插入一个 UISegemtedControl 的分段按钮, 并且设置标题和索引, 以及是否使用动画 func insertSegmentWithTitle(title: String!, atIndex segment: Int, animated: Bool)// 2.插入一个 UISegemtedControl 作为分段按钮, 并且设置索引, 以及是否使用动画 func insertSegmentWithImage(image: UIImage, atIndex segment: Int, animated: Bool)// 3.删除指定索引的 UISegemtedControl 分段按钮, 以及是否使用动画 func removeSegmentAtIndex(segment: Int, animated: Bool)// 4.删除所有 UISegemtedControl 的分段按钮 func removeAllSegments()// 3.修改 UISegemtedControl 指定的 Item 分段按钮标题 func setTitle(title: String?, forSegmentAtIndex segment: Int)// 4.获取指定的 UISegemtedControl 分段按钮的标题 func titleForSegmentAtIndex(segment: Int) -> String?// 5.修改 UISegemtedControl 指定的 Item 分段按钮图片 func setImage(image: UIImage?, forSegmentAtIndex segment: Int)// 6.获取指定的 UISegemtedControl 分段按钮的图片 func imageForSegmentAtIndex(segment: Int) -> UIImage?// 7.设置 UISegemtedControl 指定的 Item 宽度 func setWidth(width: CGFloat, forSegmentAtIndex segment: Int)// 8.获取指定 UISegemtedControl 分段按钮的宽度 func widthForSegmentAtIndex(segment: Int) -> CGFloat// 9.设置 UISegemtedControl 指定的 Item 内容偏移量 func setContentOffset(offset: CGSize, forSegmentAtIndex segment: Int)// 10.获取指定 UISegemtedControl 指定的 Item 内容偏移量 func contentOffsetForSegmentAtIndex(segment: Int) -> CGSize// 11.设置 UISegemtedControl 指定的 Item 是否可以点击 func setEnabled(enabled: Bool, forSegmentAtIndex segment: Int)// 12.获取指定 UISegemtedControl 指定的 Item 是否可以点击 func isEnabledForSegmentAtIndex(segment: Int) -> Bool// 13.设置 UISegemtedControl 的背景图片, 并且在 UISegemtedControl 指定的样式下才会显示, 以及图片显示的样式 func setBackgroundImage(backgroundImage: UIImage?, forState state: UIControlState, barMetrics: UIBarMetrics)// 14.获取 UISegemtedControl 在指定的状态, 图片显示下的图片 func backgroundImageForState(state: UIControlState, barMetrics: UIBarMetrics) -> UIImage?// 15.设置 UISegemtedControl 的左右的分隔符图片, 并且在 UISegemtedControl 指定的样式下才会显示, 以及图片显示的样式 func setDividerImage(dividerImage: UIImage?, forLeftSegmentState leftState: UIControlState, rightSegmentState rightState: UIControlState, barMetrics: UIBarMetrics)// 16.获取 UISegemtedControl 的左右的分隔符图片, 并且在 UISegemtedControl 指定的样式下才会显示, 以及图片显示的样式 func dividerImageForLeftSegmentState(leftState: UIControlState, rightSegmentState rightState: UIControlState, barMetrics: UIBarMetrics) -> UIImage?
3.代码演示
自定义UISegemtedControl
func mySegmentedControl() { // 1.自定义 UISegemtedControl 并且设置它的 Item 数组对象 var segmented = UISegmentedControl(items: ["分段一", "分段二"]) // 2.设置 UISegemtedControl 的中心点 segmented.center = CGPointMake(self.view.frame.width / 2, self.view.frame.height / 2) // 3.设置 UISegemtedControl 的尺寸 segmented.bounds = CGRectMake(0, 0, 300, 30) // 4.设置 UISegemtedControl 点击之后是否瞬间弹起, (默认是 false) segmented.momentary = true // 5.获取 UISegemtedControl 的分段按钮个数 var number: Int = segmented.numberOfSegments // 6.设置 UISegemtedControl 是否基于内容自动调整尺寸, 默认是 false, 前提是要不设置 UISegemtedControl 的尺寸 segmented.apportionsSegmentWidthsByContent = false // 7.插入一个 UISegemtedControl 的分段按钮, 并且设置标题和索引, 以及是否使用动画 segmented.insertSegmentWithTitle("分段三", atIndex: 2, animated: true) // 8.插入一个 UISegemtedControl 作为分段按钮, 并且设置索引, 以及是否使用动画 segmented.insertSegmentWithImage(UIImage(named: "image_black.jpg")!, atIndex: 3, animated: true) // 9.删除指定索引的 UISegemtedControl 分段按钮, 以及是否使用动画 segmented.removeSegmentAtIndex(1, animated: true) // 10.删除所有 UISegemtedControl 的分段按钮 //segmented.removeAllSegments() // 11.修改 UISegemtedControl 指定的 Item 分段按钮标题 segmented.setTitle("分段四", forSegmentAtIndex: 0) // 12.获取指定的 UISegemtedControl 分段按钮的标题 var title: String = segmented.titleForSegmentAtIndex(0)! println(title) // 13.修改 UISegemtedControl 指定的 Item 分段按钮图片 segmented.setImage(UIImage(named: "image_black.jpg")!, forSegmentAtIndex: 2) // 14.获取指定的 UISegemtedControl 分段按钮的图片 var image: UIImage = segmented.imageForSegmentAtIndex(2)! println(image) // 15.设置 UISegemtedControl 指定的 Item 宽度 segmented.setWidth(70, forSegmentAtIndex: 0) // 16.获取指定 UISegemtedControl 分段按钮的宽度 var width: CGFloat = segmented.widthForSegmentAtIndex(0) println(width) // 17.设置 UISegemtedControl 指定的 Item 内容偏移量 segmented.setContentOffset(CGSizeMake(5, 5), forSegmentAtIndex: 0) // 18.获取指定 UISegemtedControl 指定的 Item 内容偏移量 var size: CGSize = segmented.contentOffsetForSegmentAtIndex(0) println(size) // 19.设置 UISegemtedControl 指定的 Item 是否可以点击 segmented.setEnabled(true, forSegmentAtIndex: 0) // 20.获取指定 UISegemtedControl 指定的 Item 是否可以点击 var bool: Bool = segmented.isEnabledForSegmentAtIndex(0) println(bool) // 21.获取 UISegemtedControl 可点击的 Item 数量 var selected: Int = segmented.selectedSegmentIndex println(selected) // 22.设置 UISegemtedControl 的样式颜色 segmented.tintColor = UIColor.redColor() // 23.设置 UISegemtedControl 的背景图片, 并且在 UISegemtedControl 指定的样式下才会显示, 以及图片显示的样式 segmented.setBackgroundImage(UIImage(named: "image_black.jpg"), forState: UIControlState.Normal, barMetrics: UIBarMetrics.Default) // 24.获取 UISegemtedControl 在指定的状态, 图片显示下的图片 var backgroundImage: UIImage = segmented.backgroundImageForState(UIControlState.Normal, barMetrics: UIBarMetrics.Default)! println(backgroundImage) // 25.设置 UISegemtedControl 的左右的分隔符图片, 并且在 UISegemtedControl 指定的样式下才会显示, 以及图片显示的样式 segmented.setDividerImage(UIImage(named: "image_divider"), forLeftSegmentState: UIControlState.Normal, rightSegmentState: UIControlState.Normal, barMetrics: UIBarMetrics.Default) // 26.获取 UISegemtedControl 的左右的分隔符图片, 并且在 UISegemtedControl 指定的样式下才会显示, 以及图片显示的样式 var divider: UIImage = segmented.dividerImageForLeftSegmentState(UIControlState.Normal, rightSegmentState: UIControlState.Normal, barMetrics: UIBarMetrics.Default)! println(divider) // 27.添加 UISegemtedControl 的监听方法 segmented.addTarget(self, action: "didClicksegmentedControlAction:", forControlEvents: UIControlEvents.ValueChanged) // 添加到 self.view self.view.addSubview(segmented) }
UISegemtedControl的监听方法
func didClicksegmentedControlAction(segmented: UISegmentedControl!) { var index = segmented.selectedSegmentIndex if index == 0 { println("分段按钮一") } else if index == 1 { println("分段按钮二") } else if index == 2 { println("分段按钮三") } }
在 viewDidLoad 中实现
override func viewDidLoad() { super.viewDidLoad() self.mySegmentedControl() }
4.最终效果
1
2
PS: UISegemtedControl 是继承与 UIControl 的, 所以 UIControl 里面的方法以及属性都是可以使用的.
好了, 这次我们就讲到这里, 下次我们继续
0 0
- UIKit框架-高级控件Swift版本: 8.UISegemtedControl方法/属性详解
- UIKit框架-高级控件Swift版本: 1.UIScrollView方法/属性详解
- UIKit框架-高级控件Swift版本: 4.UICollectionView方法/属性详解
- UIKit框架-高级控件Swift版本: 2.UITableView方法/属性详解
- UIKit框架-高级控件Swift版本: 3.UITableViewCell方法/属性详解
- UIKit框架-高级控件Swift版本: 5.UITextView方法/属性详解
- UIKit框架-高级控件Swift版本: 6.UIAlertView方法/属性详解
- UIKit框架-高级控件Swift版本: 7.UIActionSheet方法/属性详解
- UIKit框架-高级控件Swift版本: 9.UINavigationController方法/属性详解
- UIKit框架-高级控件Swift版本: 10.UIWebView方法/属性详解
- UIKit框架-高级控件Swift版本: 9.UINavigationController方法/属性详解
- UIKit框架-基础控件Swift版本: 1.UIControl方法/属性详解
- UIKit框架-基础控件Swift版本: 2.UIButton方法/属性详解
- UIKit框架-基础控件Swift版本: 3.UILabel方法/属性详解
- UIKit框架-基础控件Swift版本: 4.UIImageView方法/属性详解
- UIKit框架-基础控件Swift版本: 5.UIImage方法/属性详解
- UIKit框架-基础控件Swift版本: 6.UITextField方法/属性详解
- UIKit框架-基础控件Swift版本: 7.UISwitch方法/属性详解
- Windows下PHP 5.6+Apache 2.4+MySQL 5.5安装与配置
- 第三章第六题
- TCP/IP基于UDP的可单聊多聊聊天室
- Android之Intent全面解析及用法
- 【C语言】请编写实现以下功能函数:实现对一个8bit数据(unsigned char)的指定位(例如第8位)的置0或置1操作,并保持其他位不变
- UIKit框架-高级控件Swift版本: 8.UISegemtedControl方法/属性详解
- neutron surround you(2)
- Set的add方法返回false
- unity The Matrix和游戏制作的一些指标
- Java学习日记(十)IO流
- 基于NFC智能手机(Android)的开发领域 物联网、金融、交通、游戏
- 类 思维导图
- 数组和指针的区别
- 123