美文网首页
iOS 之UIControl及其子类

iOS 之UIControl及其子类

作者: CarsonChen | 来源:发表于2016-03-08 20:33 被阅读1149次

    一. 已学类的继承关系

    Objective-C中所有类的父类为NSObject类

    NSObject的子类有:NSString NSArray NSDictionary NSSet NSDate UIGestureRecognizer UIResponder等等

    NSString 子类: NSMutableString

    NSArray 子类: NSMutableArray

    NSDictionary 子类: NSMutableDictionary

    NSSet 子类: NSMutableSet

    UIGestureRecognizer 子类: UITapGestureRecognizer(轻拍) UISwipeGestureRecognizer(轻扫) UILongPressGestureRecognizer(长按) UIPanGestureRecognizer(平移) UIRotationGestureRecognizer(旋转) UIPinchGestureRecognizer(捏合)

    UIResponder 子类: UIView(视图) UIApplication AppDelegate UIViewController(视图控制器)

    UIView 子类: UILabel(标签) UIControl(控制视图)  UIImageView UIWindow

    UIControl 子类: UIButton UITextField UISlider UIDatePicker UISegmentedControl

    UIViewController 子类: UIAlertController

    二. UIControl初识

    UIControl是具有控制功能的视图.只要跟控制相关的控件都是其子类.UIControl是个抽象类,通常使用的时候用的都是其子类.

    事件响应的三种形式:基于触摸,基于值,基于编辑

    UIControl的子类有:UIButton,UITextField,UISlider,UISwitch,UIDatePicker,UIPageControl,UISegmentedControl

    有这几个子类创建的对象均有

    添加一个事件的方法:addTarget:(id) target action:(SEL) forControlEvents:

    移除一个事件的方法:removeTarget:(id)target action:(SEL) forControlEvents:

    三. UISwitch的使用(开关)

    UISwitch继承于UIControl通常被叫做开关.初始化方法中指定的frame是没有意义的,系统会指定控件的大小,均为默认值.

    onTintColor //设置开启时的颜色

    tintColor //设置开关风格颜色

    thumbTintColor //设置开关按钮颜色

    switch.on = YES; //设置开关默认为开启状态

    四. UISlider的使用(滑块)

    UISlider是iOS中的滑块控件,通常用于控制视频播放进度,控制音量等等,继承于UIControl,滑块提供了一序列的连续的值,滑块停在不同的位置,或得滑块上的值也不同.

    UISlider的常用属性:

    minimumValue  //设置滑块的最小值,即:滑块在最左边的时候的值

    maximumValue //设置滑块的最大值,即:滑块在最右边的时候的值

    value //设置滑块的当前值.

    minimumTrackTintColor //滑块划过的的颜色

    maximumTrackTintColor //滑块未划过的颜色

    同样的可以添加addTarget action方法.

    五. UIDatePicker的使用(扩展)

    时间选择器,创建对象的方式与其他UIControl类的对象创建对象的方式类似.

    属性:

    datePickerMode时间选择器的形式.获取到的Date可以通过NSDateFormatter对象设置格式控制符控制时间格式,例如:yyyy-MM-dd年-月-日然后通过该类的实例化方法,stirngFromDate方法将date转化成为字符串.

    六. UIAlertController警告对话框 (扩展)

    UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"Tittle" message:@"This is a tittle" preferredStyle:UIAlertControllerStyleActionSheet];

    UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:nil];

    // 对话框按钮

    UIAlertAction *otherAction = [UIAlertAction actionWithTitle:@"Agree" style:UIAlertActionStyleDefault handler:nil];

    // 对话框警示(按钮为红色)

    UIAlertAction *action = [UIAlertAction actionWithTitle:@"Agree2" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {

    NSLog(@"Press agree2");

    }];

    //添加对话框上的按钮

    [alertController addAction:otherAction];

    [alertController addAction:action];

    [alertController addAction:cancelAction];

    // 切换视图控制器

    [self presentViewController:alertController animated:YES completion:nil];

    七. UISegmentedControl的使用

    UISegmentedControl是iOS中常用的分段控件,每个segment都能点击,它相当继承了若干个button.分段控件提供一栏按钮(有时候成为按钮栏),但一个时刻只能激活一个按钮.分段控件会导致用户在屏幕上看到的内容发生变化.它们通常用在不同类别的信息之间选择,或者在切换不同的视图.

    UISegmentedcontrol属性以及方法:

    initWithItems: //UISegmentedControl独有的初始化方法.用来创建多个分段

    selectedSegmentAtIndex //设定被选中的分段

    tintColor //segment的边框颜色

    addTarget方法的时候,处理事件的枚举为valueChanged方法

    通常状态下,UISegmentedControl的addTarget方法实现中通过switch结合进行

    防止图片被渲染

    UIImage *image = [[UIImage imageNamed:imagePath] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

    八. UIPageControl的使用

    UIPageControl控件是与UIScrollView(滑动视图)配合显示大量数据的时候,会用来控制UIScrollView的翻页.在滚动ScrollView时可以通过PageControl中的小白点来观察当前页面的位置,也可以通过pageControl中的小白点来滚动到指定的页面.

    UIPageControl的属性:

    numebrOfPages 页面的个数

    currentPage 选中的点

    UIPageControl的addTarget action方法中使用ValueChanged.

    UIPageControl的属性:

    currentPageIndicatorTintColor 当前选中点的颜色

    pageIndicatorTintColor 其余点的颜色

    相关文章

      网友评论

          本文标题:iOS 之UIControl及其子类

          本文链接:https://www.haomeiwen.com/subject/smyzkttx.html