• UIButton


    #import "AppDelegate.h"

    @interface AppDelegate ()

    @end

    @implementation AppDelegate

    - (void)dealloc

    {

        self.window = nil;

        [super dealloc];

    }

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

        

        self.window = [[[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds] autorelease];

        self.window.backgroundColor = [UIColor whiteColor];

        [self.window makeKeyAndVisible];

        

        self.window.rootViewController = [[UIViewController alloc] init];

        // UIControl  添加了状态和事件

        //UIButton -> UIControl -> UIView -> NSObject

        /*  buttontype

         UIButtonTypeRoundedRect == UIButtonTypeSystem

         UIButtonTypeDetailDisclosure       !号的按钮

         UIButtonTypeContactAdd             + 号的按钮

         UIButtonTypeCustom         自定义图片时使用 !!!

         */

        //使用类方法创建button

        UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];

        button.frame = CGRectMake(50, 50, 100, 50);

        

        /* state

         UIControlStateNormal           正常

         UIControlStateDisabled         禁用

         UIControlStateHighlighted      高亮

         UIControlStateSelected         选择

         */

        

        //设置标题, 根据不同状态

        [button setTitle:@"normal" forState:UIControlStateNormal];

        [button setTitle:@"disabled" forState:UIControlStateDisabled];

        [button setTitle:@"highLighted" forState:UIControlStateHighlighted];

        [button setTitle:@"selected" forState:UIControlStateSelected];

        //设置选择状态  缺省  NO

        //    button.selected = YES;

        //使能开关     缺省 YES

        //    button.enabled = NO;

        

        //设置全局的颜色 主题颜色

        button.tintColor = [UIColor blackColor];

        

        //根据状态来设置颜色

        [button setTitleColor:[UIColor redColor] forState:UIControlStateHighlighted];

        

        /*  Events 事件 !!!

         

         UIControlEventTouchUpInside

         UIControlEventTouchUpOutside

         UIControlEventTouchDragInside

         UIControlEventTouchDragOutside

         

         */

        //异步编程模型

        //添加无参的button事件

        //    [button addTarget:self action:@selector(click) forControlEvents:UIControlEventTouchUpInside];

        

        //添加带参数的button事件

        //传递的参数就是添加事件的对象

        //(点击并在按钮范围内松手)

        [button addTarget:self action:@selector(click:) forControlEvents:UIControlEventTouchUpInside];

        

        button.backgroundColor = [UIColor cyanColor];

        

        [self.window addSubview:button];

        

        

        //system不支持自定义的图片

        //使用自定义的图片的button,要使用custom样式!!!

        UIButton *imageBtn = [UIButton buttonWithType:UIButtonTypeCustom];

        imageBtn.backgroundColor = [UIColor blackColor];

        imageBtn.frame = CGRectMake(50, 150, 100, 100);

        //获取图片

        // 1.png可以不写拓展名  jpg必须写

        // 2.不支持gif

        // 3.  UIImageView  UIImage 表示图片类

        UIImage *image = [UIImage imageNamed:@"image"];

        //设置button的图片

        [imageBtn setImage:image forState:UIControlStateNormal];

        [imageBtn setImage:[UIImage imageNamed:@"image2"] forState:UIControlStateSelected];

        [imageBtn setTitle:@"xxxxxxxx" forState:UIControlStateNormal];

        [imageBtn addTarget:self action:@selector(imageChange:) forControlEvents:UIControlEventTouchUpInside];

        [self.window addSubview:imageBtn];

        

       

        

        UIButton *imgBtn1 = [UIButton buttonWithType:UIButtonTypeCustom];

        imgBtn1.backgroundColor = [UIColor blackColor];

        imgBtn1.frame = CGRectMake(50, 300, 100, 100);

        //设置背景图片

        [imgBtn1 setBackgroundImage:image forState:UIControlStateNormal];

        [imgBtn1 setTitle:@"xxxxxxx" forState:UIControlStateNormal];

        [self.window addSubview:imgBtn1];

        

        /*

         backgroundImage  image的区别

         1.background 伸缩图片, image只有小于图片时伸缩

         2.background 文字浮于图片上方

         image  文字和图片水平并列

         */

        

        

        return YES;

    }

    - (void)imageChange:(UIButton *)button

    {

        //    if (button.isSelected)

        //    {

        //        button.selected = NO;

        //    }

        //    else

        //    {

        //        button.selected = YES;

        //    }

        //

        button.selected = !button.isSelected;

        

    #if 0

        static BOOL flag = NO;

        NSString *imageName = nil;

        if (flag)

        {

            imageName = @"image";

            

            //        flag = NO;

        }

        else

        {

            imageName = @"image2";

            

            //        flag = YES;

        }

        UIImage *image = [UIImage imageNamed:imageName];

        [button setImage:image forState:UIControlStateNormal];

        flag = !flag;

    #endif

        

    }

    - (void)click:(UIButton *)button

    {

        //获取button的标题, titleLabel只读

        NSLog(@"%@", button.titleLabel.text);

        

        //删除一个事件, 跟添加的内容相同

        [button removeTarget:self action:@selector(click:) forControlEvents:UIControlEventTouchUpInside];

        

    }

    - (void)click

    {

        NSLog(@"click");

    }

  • 相关阅读:
    dlib库+vs2017详细配置流程
    【网易云课堂】【中科院团队】深度学习:算法到实战——神经网络基础
    【网易云课堂】【中科院团队】深度学习:算法到实战——绪论
    matlab 读取多行txt文本
    LeetCode 228. Summary Ranges【未加入列表】
    LeetCode 438. Find All Anagrams in a String
    c++冷知识
    python项目实战——西游记用字统计
    LeetCode 101. Symmetric Tree
    LeetCode 63. Unique Paths II
  • 原文地址:https://www.cnblogs.com/chunji/p/5257452.html
Copyright © 2020-2023  润新知