UI 控件介绍
2016-01-09 00:56
405 查看
本文章简单介绍几个UI小控件,对这些控件的属相和方法进行了简单的总结。控件包括 UIsegmentedControl, UIStepper ,UIActivityIndicatorView, UISwitch UIPagerControl ,UIProgressView,UISlider.
UIsegmentedControl
初始化
- (instancetype)init;
- (instancetype)initWithFrame:(CGRect)frame;
//需要配合一个数组设置。数组内容为它每个部分的标题
- (instancetype)initWithItems:(NSArray *)items;
UISegmentControl 初始化的时候可以不用设置 frame 属性
其 frame 默认值是 {{0, 0}, {自动宽度,
29}}
属性
//默认值no,设置为yes就无法保持被选中状态,就像按钮一样了。
@property (nonatomic, getter=isMomentary) BOOL momentary;
//获取标签个数,(只读),没有set方法
@property (nonatomic, readonly) NSUInteger numberOfSegments;
//设置为yes,各部分的宽度自动适应其内容,设置为no,其宽度为各部分的最大宽度。默认值时no。
@property (nonatomic) BOOL apportionsSegmentWidthsByContent;
//被选中选线的索引,既第几个被选中,就是几,从0开始。
@property (nonatomic) NSInteger selectedSegmentIndex; ⭐️
//着色区域的颜色(标题,边框)
@property (nonatomic, strong) UIColor *tintColor;
常用方法
//对应位置插入一个选项并设置标题
- (void)insertSegmentWithTitle:(nullable NSString *)title atIndex:(NSUInteger)segment animated:(BOOL)animated;
//对应插入选项并设置图片
- (void)insertSegmentWithImage:(nullable UIImage *)image atIndex:(NSUInteger)segment animated:(BOOL)animated;
//移除对应的xuanxiang
- (void)removeSegmentAtIndex:(NSUInteger)segment animated:(BOOL)animated;
//移除所有的选项
- (void)removeAllSegments;
//设置某个选项不被选中
- (void)setEnabled:(BOOL)enabled forSegmentAtIndex:(NSUInteger)segment;
//判断某个选项是否能被选中
- (BOOL)isEnabledForSegmentAtIndex:(NSUInteger)segment;
//设置选项的标题
- (void)setTitle:(nullable NSString *)title forSegmentAtIndex:(NSUInteger)segment;
//设置选项图片
- (void)setImage:(nullable UIImage *)image forSegmentAtIndex:(NSUInteger)segment;
//设置对应选项的宽度
- (void)setWidth:(CGFloat)width forSegmentAtIndex:(NSUInteger)segment;
//设置对应选项的标题偏移值
- (void)setContentOffset:(CGSize)offset forSegmentAtIndex:(NSUInteger)segment;
//获取某选项的标题
- (nullable NSString *)titleForSegmentAtIndex:(NSUInteger)segment;
//获取某选项的图片
- (nullable UIImage *)imageForSegmentAtIndex:(NSUInteger)segment;
//获取某选项的宽度,只有设置了对应的宽度才有,不设置的获取到的事0;
- (CGFloat)widthForSegmentAtIndex:(NSUInteger)segment;
//获取某选项的偏移值,是一结构体。
- (CGSize)contentOffsetForSegmentAtIndex:(NSUInteger)segment;
//触发事件方法。
- (void)addTarget:(nullable id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;
[self.segmentedControl addTarget:self
action:@selector(changValue:)
forControlEvents:UIControlEventValueChanged];
- (void)changValue:(id)sender {
NSLog(@"Changed Value");
}
UIStepper
初始化
- (instancetype)init;
- (instancetype)initWithFrame:(CGRect)
1528e
frame;
UIStepper 初始化的时候可以不用设置 frame 属性
其 frame 默认值是 {{0, 0}, {固定宽度, 固定高度}}
属性
//设置是否连续,默认值时yes,设置为no时,数字一直都在变化,但只会在松开鼠标的时候才显示。
@property (nonatomic, getter=isContinuous) BOOL continuous;
//默认值时yes。设置为no,点击一次变化一次,一直按着期间不 会发生变化,只有松开鼠标时,才回变化
@property (nonatomic) BOOL autorepeat;
//是否设制循环,设置为yes时,到最大值时,会跳会最小值,到最小值时会变味最大值
@property (nonatomic) BOOL wraps;
//当前的数值时多少
@property (nonatomic) double value;
//设置最小值
@property (nonatomic) double minimumValue;
//设置最大值
@property (nonatomic) double maximumValue;
//设置步进值,几点击一次,增加或者减少多。
@property (nonatomic) double stepValue;
方法
//设置背景图片(背景是指biank),着里需要的都是着色图片
- (void)setBackgroundImage:(nullable UIImage*)image forState:(UIControlState)state;
//设置加号的图片,就是将加号改为图片的样式
- (void)setIncrementImage:(nullable UIImage *)image forState:(UIControlState)state;
//设置减号 的图片,将减号设置为图片的样式。
- (void)setDecrementImage:(nullable UIImage *)image forState:(UIControlState)state;
//设置 中间分隔线为图片的样式。
(void)setDividerImage:(nullable UIImage*)image forLeftSegmentState:(UIControlState)leftState rightSegmentState:(UIControlState)rightState;
//分别设置中间分隔线两边的样式
- (UIImage *)dividerImageForLeftSegmentState:(UIControlState)state rightSegmentState:(UIControlState)state;
//获取中间分隔线,加号,减号的图片
- (UIImage *)incrementImageForState:(UIControlState)state;
- (UIImage *)backgroundImageForState:(UIControlState)state;
- (UIImage *)decrementImageForState:(UIControlState)state;
//事件方法
- (void)addTarget:(nullable id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;
[self.stepper addTarget:self
action:@selector(changValue:)
forControlEvents:UIControlEventValueChanged];
- (void)changValue:(id)sender {
NSLog(@"Changed Value");
}
UIActivityIndicatorView
初始化
- (instancetype)init;
(instancetype)initWithFrame:(CGRect)frame;
//初始化设置菊花的样式,有菊花的
(instancetype)initWithActivityIndicatorStyle:(UIActivityIndicatorViewStyle)style;
frame 属性无论设置多大, 菊花实际尺寸不会变
属性
//设置菊花的样式
@property (nonatomic) UIActivityIndicatorViewStyle activityIndicatorViewStyle;
//当菊花停止时不显示,默认值时yes
@property (nonatomic) BOOL hidesWhenStopped;
//设置菊花的颜色,
@property (nonatomic, strong) UIColor *color;
方法
//菊花开始转动
- (void)startAnimating;
//菊花停止zhuand
- (void)stopAnimating;
//判断菊花是否在zhuand
- (BOOL)isAnimating;
UISwitch
//初始化
- (instancetype)init;
- (instancetype)initWithFrame:(CGRect)frame;
frame 属性只能修改顶点坐标, 无法修改尺寸坐标
//属性
//设置打开时的颜色
@property (nonatomic, strong) UIColor *onTintColor;
//边框的颜色
@property (nonatomic, strong) UIColor *tintColor;
//圆形开关的颜色
@property (nonatomic, strong) UIColor *thumbTintColor;
//打开时的图片ios7开始不用
@property (nonatomic, strong) UIImage *onImage;
//关闭时的图片ios7开始不用
@property (nonatomic, strong) UIImage *offImage;
//判断开关是否打开
@property (nonatomic, getter=isOn) BOOL on;
sw.on= YES/NO;
//打开时是否有动画
- (void)setOn:(BOOL)on animated:(BOOL)animated;
//添加事件
- (void)addTarget:(nullable id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;
[self.switcher addTarget:self
action:@selector(changValue:)
forControlEvents:UIControlEventValueChanged];
UIPagerControl
初始化
- (instancetype)init;
- (instancetype)initWithFrame:(CGRect)frame;
属性
//设置共有几页
@property(nonatomic) NSInteger numberOfPages;
//当前在那一页
@property(nonatomic) NSInteger currentPage;
//只有一页时隐藏
@property(nonatomic) BOOL hidesForSinglePage;
//推迟显示当前页面。
@property(nonatomic) BOOL defersCurrentPageDisplay;
//设置所有点的颜色
@property(nullable, nonatomic, strong) UIColor *pageIndicatorTintColor;
//设置当前叶的颜色
@property(nullable, nonatomic, strong) UIColor *currentPageIndicatorTintColor;
方法
//更新页面。与defersCurrentPageDisplay 配合使用
- (void)updateCurrentPageDisplay;
//获取最小的尺寸
- (CGSize)sizeForNumberOfPages:(NSInteger)pageCount;
//事件方法
- (void)addTarget:(nullable id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;
UISlider
初始化
- (instancetype)init;
- (instancetype)initWithFrame:(CGRect)frame;
属性
//设置滑块最初的值
@property(nonatomic) float value;
//设置最小值
@property(nonatomic) float minimumValue;
//设置最大值
@property(nonatomic) float maximumValue;
//设置最小值端的图片
@property(nonatomic,strong) UIImage *minimumValueImage;
//设置最大值端的图片
@property(nonatomic,strong) UIImage *maximumValueImage;
//设置是否连续显示value的值,默认是yes,设置为no,就不连续显示
@property(nonatomic,getter=isContinuous) BOOL continuous;
//设置最小值那端的轨道颜色,
@property(nonatomic,strong) UIColor *minimumTrackTintColor;
//设置最大端的轨道颜色
@property(nonatomic,strong) UIColor *maximumTrackTintColor;
//设置滑块的颜色
@property(nonatomic,strong) UIColor *thumbTintColor;
//设置图片。
@property(nonatomic,readonly) UIImage *currentThumbImage;
@property(nonatomic,readonly) UIImage *currentMinimumTrackImage;
@property(nonatomic,readonly) UIImage *currentMaximumTrackImage;
//获取当前的值
- (void)setValue:(float)value animated:(BOOL)animated;
//设置图片
- (void)setThumbImage:(nullable UIImage *)image forState:(UIControlState)state;
- (void)setMinimumTrackImage:(nullable UIImage *)image forState:(UIControlState)state;
- (void)setMaximumTrackImage:(nullable UIImage *)image forState:(UIControlState)state;
//获取图片
- (nullable UIImage *)thumbImageForState:(UIControlState)state;
- (nullable UIImage *)minimumTrackImageForState:(UIControlState)state;
- (nullable UIImage *)maximumTrackImageForState:(UIControlState)state;
- (void)addTarget:(nullable id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;
[self.slider addTarget:self
action:@selector(changValue:)
forControlEvents:UIControlEventValueChanged];
- (void)changValue:(id)sender {
NSLog(@"Changed Value");
}
UIProgressView
初始化
(instancetype)init;
(instancetype)initWithFrame:(CGRect)frame;
(instancetype)initWithProgressViewStyle:(UIProgressViewStyle)style;
属性
//设置样式
@property(nonatomic) UIProgressViewStyle progressViewStyle;
//当前所处位置的值,
@property(nonatomic) float progress;
//完成部分的颜色
@property(nonatomic, strong) UIColor *progressTintColor;
//轨道的颜色
@property(nonataomic, strong) UIColor *trackTintColor;
//设置图片
@property(nonatomic, strong) UIImage *progressImage;
@property(nonatomic, strong) UIImage *trackImage;
- (void)setProgress:(float)progress animated:(BOOL)animated;
***/
UIsegmentedControl
初始化
- (instancetype)init;
- (instancetype)initWithFrame:(CGRect)frame;
//需要配合一个数组设置。数组内容为它每个部分的标题
- (instancetype)initWithItems:(NSArray *)items;
UISegmentControl 初始化的时候可以不用设置 frame 属性
其 frame 默认值是 {{0, 0}, {自动宽度,
29}}
属性
//默认值no,设置为yes就无法保持被选中状态,就像按钮一样了。
@property (nonatomic, getter=isMomentary) BOOL momentary;
//获取标签个数,(只读),没有set方法
@property (nonatomic, readonly) NSUInteger numberOfSegments;
//设置为yes,各部分的宽度自动适应其内容,设置为no,其宽度为各部分的最大宽度。默认值时no。
@property (nonatomic) BOOL apportionsSegmentWidthsByContent;
//被选中选线的索引,既第几个被选中,就是几,从0开始。
@property (nonatomic) NSInteger selectedSegmentIndex; ⭐️
//着色区域的颜色(标题,边框)
@property (nonatomic, strong) UIColor *tintColor;
常用方法
//对应位置插入一个选项并设置标题
- (void)insertSegmentWithTitle:(nullable NSString *)title atIndex:(NSUInteger)segment animated:(BOOL)animated;
//对应插入选项并设置图片
- (void)insertSegmentWithImage:(nullable UIImage *)image atIndex:(NSUInteger)segment animated:(BOOL)animated;
//移除对应的xuanxiang
- (void)removeSegmentAtIndex:(NSUInteger)segment animated:(BOOL)animated;
//移除所有的选项
- (void)removeAllSegments;
//设置某个选项不被选中
- (void)setEnabled:(BOOL)enabled forSegmentAtIndex:(NSUInteger)segment;
//判断某个选项是否能被选中
- (BOOL)isEnabledForSegmentAtIndex:(NSUInteger)segment;
//设置选项的标题
- (void)setTitle:(nullable NSString *)title forSegmentAtIndex:(NSUInteger)segment;
//设置选项图片
- (void)setImage:(nullable UIImage *)image forSegmentAtIndex:(NSUInteger)segment;
//设置对应选项的宽度
- (void)setWidth:(CGFloat)width forSegmentAtIndex:(NSUInteger)segment;
//设置对应选项的标题偏移值
- (void)setContentOffset:(CGSize)offset forSegmentAtIndex:(NSUInteger)segment;
//获取某选项的标题
- (nullable NSString *)titleForSegmentAtIndex:(NSUInteger)segment;
//获取某选项的图片
- (nullable UIImage *)imageForSegmentAtIndex:(NSUInteger)segment;
//获取某选项的宽度,只有设置了对应的宽度才有,不设置的获取到的事0;
- (CGFloat)widthForSegmentAtIndex:(NSUInteger)segment;
//获取某选项的偏移值,是一结构体。
- (CGSize)contentOffsetForSegmentAtIndex:(NSUInteger)segment;
//触发事件方法。
- (void)addTarget:(nullable id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;
[self.segmentedControl addTarget:self
action:@selector(changValue:)
forControlEvents:UIControlEventValueChanged];
- (void)changValue:(id)sender {
NSLog(@"Changed Value");
}
UIStepper
初始化
- (instancetype)init;
- (instancetype)initWithFrame:(CGRect)
1528e
frame;
UIStepper 初始化的时候可以不用设置 frame 属性
其 frame 默认值是 {{0, 0}, {固定宽度, 固定高度}}
属性
//设置是否连续,默认值时yes,设置为no时,数字一直都在变化,但只会在松开鼠标的时候才显示。
@property (nonatomic, getter=isContinuous) BOOL continuous;
//默认值时yes。设置为no,点击一次变化一次,一直按着期间不 会发生变化,只有松开鼠标时,才回变化
@property (nonatomic) BOOL autorepeat;
//是否设制循环,设置为yes时,到最大值时,会跳会最小值,到最小值时会变味最大值
@property (nonatomic) BOOL wraps;
//当前的数值时多少
@property (nonatomic) double value;
//设置最小值
@property (nonatomic) double minimumValue;
//设置最大值
@property (nonatomic) double maximumValue;
//设置步进值,几点击一次,增加或者减少多。
@property (nonatomic) double stepValue;
方法
//设置背景图片(背景是指biank),着里需要的都是着色图片
- (void)setBackgroundImage:(nullable UIImage*)image forState:(UIControlState)state;
//设置加号的图片,就是将加号改为图片的样式
- (void)setIncrementImage:(nullable UIImage *)image forState:(UIControlState)state;
//设置减号 的图片,将减号设置为图片的样式。
- (void)setDecrementImage:(nullable UIImage *)image forState:(UIControlState)state;
//设置 中间分隔线为图片的样式。
(void)setDividerImage:(nullable UIImage*)image forLeftSegmentState:(UIControlState)leftState rightSegmentState:(UIControlState)rightState;
//分别设置中间分隔线两边的样式
- (UIImage *)dividerImageForLeftSegmentState:(UIControlState)state rightSegmentState:(UIControlState)state;
//获取中间分隔线,加号,减号的图片
- (UIImage *)incrementImageForState:(UIControlState)state;
- (UIImage *)backgroundImageForState:(UIControlState)state;
- (UIImage *)decrementImageForState:(UIControlState)state;
//事件方法
- (void)addTarget:(nullable id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;
[self.stepper addTarget:self
action:@selector(changValue:)
forControlEvents:UIControlEventValueChanged];
- (void)changValue:(id)sender {
NSLog(@"Changed Value");
}
UIActivityIndicatorView
初始化
- (instancetype)init;
(instancetype)initWithFrame:(CGRect)frame;
//初始化设置菊花的样式,有菊花的
(instancetype)initWithActivityIndicatorStyle:(UIActivityIndicatorViewStyle)style;
frame 属性无论设置多大, 菊花实际尺寸不会变
属性
//设置菊花的样式
@property (nonatomic) UIActivityIndicatorViewStyle activityIndicatorViewStyle;
//当菊花停止时不显示,默认值时yes
@property (nonatomic) BOOL hidesWhenStopped;
//设置菊花的颜色,
@property (nonatomic, strong) UIColor *color;
方法
//菊花开始转动
- (void)startAnimating;
//菊花停止zhuand
- (void)stopAnimating;
//判断菊花是否在zhuand
- (BOOL)isAnimating;
UISwitch
//初始化
- (instancetype)init;
- (instancetype)initWithFrame:(CGRect)frame;
frame 属性只能修改顶点坐标, 无法修改尺寸坐标
//属性
//设置打开时的颜色
@property (nonatomic, strong) UIColor *onTintColor;
//边框的颜色
@property (nonatomic, strong) UIColor *tintColor;
//圆形开关的颜色
@property (nonatomic, strong) UIColor *thumbTintColor;
//打开时的图片ios7开始不用
@property (nonatomic, strong) UIImage *onImage;
//关闭时的图片ios7开始不用
@property (nonatomic, strong) UIImage *offImage;
//判断开关是否打开
@property (nonatomic, getter=isOn) BOOL on;
sw.on= YES/NO;
//打开时是否有动画
- (void)setOn:(BOOL)on animated:(BOOL)animated;
//添加事件
- (void)addTarget:(nullable id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;
[self.switcher addTarget:self
action:@selector(changValue:)
forControlEvents:UIControlEventValueChanged];
UIPagerControl
初始化
- (instancetype)init;
- (instancetype)initWithFrame:(CGRect)frame;
属性
//设置共有几页
@property(nonatomic) NSInteger numberOfPages;
//当前在那一页
@property(nonatomic) NSInteger currentPage;
//只有一页时隐藏
@property(nonatomic) BOOL hidesForSinglePage;
//推迟显示当前页面。
@property(nonatomic) BOOL defersCurrentPageDisplay;
//设置所有点的颜色
@property(nullable, nonatomic, strong) UIColor *pageIndicatorTintColor;
//设置当前叶的颜色
@property(nullable, nonatomic, strong) UIColor *currentPageIndicatorTintColor;
方法
//更新页面。与defersCurrentPageDisplay 配合使用
- (void)updateCurrentPageDisplay;
//获取最小的尺寸
- (CGSize)sizeForNumberOfPages:(NSInteger)pageCount;
//事件方法
- (void)addTarget:(nullable id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;
UISlider
初始化
- (instancetype)init;
- (instancetype)initWithFrame:(CGRect)frame;
属性
//设置滑块最初的值
@property(nonatomic) float value;
//设置最小值
@property(nonatomic) float minimumValue;
//设置最大值
@property(nonatomic) float maximumValue;
//设置最小值端的图片
@property(nonatomic,strong) UIImage *minimumValueImage;
//设置最大值端的图片
@property(nonatomic,strong) UIImage *maximumValueImage;
//设置是否连续显示value的值,默认是yes,设置为no,就不连续显示
@property(nonatomic,getter=isContinuous) BOOL continuous;
//设置最小值那端的轨道颜色,
@property(nonatomic,strong) UIColor *minimumTrackTintColor;
//设置最大端的轨道颜色
@property(nonatomic,strong) UIColor *maximumTrackTintColor;
//设置滑块的颜色
@property(nonatomic,strong) UIColor *thumbTintColor;
//设置图片。
@property(nonatomic,readonly) UIImage *currentThumbImage;
@property(nonatomic,readonly) UIImage *currentMinimumTrackImage;
@property(nonatomic,readonly) UIImage *currentMaximumTrackImage;
//获取当前的值
- (void)setValue:(float)value animated:(BOOL)animated;
//设置图片
- (void)setThumbImage:(nullable UIImage *)image forState:(UIControlState)state;
- (void)setMinimumTrackImage:(nullable UIImage *)image forState:(UIControlState)state;
- (void)setMaximumTrackImage:(nullable UIImage *)image forState:(UIControlState)state;
//获取图片
- (nullable UIImage *)thumbImageForState:(UIControlState)state;
- (nullable UIImage *)minimumTrackImageForState:(UIControlState)state;
- (nullable UIImage *)maximumTrackImageForState:(UIControlState)state;
- (void)addTarget:(nullable id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;
[self.slider addTarget:self
action:@selector(changValue:)
forControlEvents:UIControlEventValueChanged];
- (void)changValue:(id)sender {
NSLog(@"Changed Value");
}
UIProgressView
初始化
(instancetype)init;
(instancetype)initWithFrame:(CGRect)frame;
(instancetype)initWithProgressViewStyle:(UIProgressViewStyle)style;
属性
//设置样式
@property(nonatomic) UIProgressViewStyle progressViewStyle;
//当前所处位置的值,
@property(nonatomic) float progress;
//完成部分的颜色
@property(nonatomic, strong) UIColor *progressTintColor;
//轨道的颜色
@property(nonataomic, strong) UIColor *trackTintColor;
//设置图片
@property(nonatomic, strong) UIImage *progressImage;
@property(nonatomic, strong) UIImage *trackImage;
- (void)setProgress:(float)progress animated:(BOOL)animated;
***/
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 讲解iOS开发中基本的定位功能实现
- js判断客户端是iOS还是Android等移动终端的方法
- IOS开发环境windows化攻略
- 浅析iOS应用开发中线程间的通信与线程安全问题
- 检测iOS设备是否越狱的方法
- .net平台推送ios消息的实现方法
- 探讨Android与iOS,我们将何去何从?
- Android、iOS和Windows Phone中的推送技术详解
- IOS 改变键盘颜色代码
- 举例详解iOS开发过程中的沙盒机制与文件
- Android和IOS的浏览器中检测是否安装某个客户端的方法
- 分享一个iOS下实现基本绘画板功能的简单方法
- javascript实现阻止iOS APP中的链接打开Safari浏览器