您的位置:首页 > 产品设计 > UI/UE

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;

 

 ***/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息