zoukankan      html  css  js  c++  java
  • UI第二节——UIButton详解

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        
        self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
       UIViewController *controller = [[UIViewController alloc]init];
        
        [self.window setRootViewController:controller];
        
    
        
        // 创建UIButton,唯独UIButton的创建不一样
        // UIButtonTypeSystem   系统默认的类型
        // UIButtonTypeCustom   用户自定义类型
        // UIButtonTypeContactAdd 文字前面会有一个 + 符号
        
        // UIButtonTypeDetailDisclosure 会有一个 i 符号
        // UIButtonTypeInfoLight
        // UIButtonTypeInfoDark
        
        // UIButtonTypeRoundedRect  跟UIButtonTypeSystem没有区别
        UIButton *btn = [UIButton buttonWithType:UIButtonTypeSystem];
        
        // 设置它的frame(位置)
        btn.frame = CGRectMake(20, 30, 335, 30);
        
    //    NSLog(@"%f, %f", btn.frame.size.width, btn.frame.size.height);
    //    btn.frame.origin // 原点坐标
    //    btn.frame.size   // 大小
    
        
        // 设置标题
        // UIControlStateNormal         普通状态
        // UIControlStateHighlighted    高亮状态
        [btn setTitle:@"This is a Button" forState:UIControlStateNormal];
        [btn setTitle:@"Heightlighted" forState:UIControlStateHighlighted];
        
        // 设置Button的字体
        btn.titleLabel.font = [UIFont systemFontOfSize:30];
        
        // 调整Title位置
        // top left bottom right 的偏移
        btn.titleEdgeInsets = UIEdgeInsetsMake(0, -100, 0, 0);
        
        // 主题颜色
        btn.tintColor = [UIColor whiteColor];
        
        // 背景颜色
        btn.backgroundColor = [UIColor redColor];
        
        // 添加点击事件
        // 让 target(谁) 去做 action (什么事)
        // 让AppDelegate对象去执行 btnClicked: 这个函数
        [btn addTarget:self action:@selector(btnClicked:) forControlEvents:UIControlEventTouchUpInside];
        
        // 把Button添加到Window上
        [self.window addSubview:btn];
        
        
        /******
         第二个Button
         ******/
        
        UIButton *secondBtn = [UIButton buttonWithType:UIButtonTypeCustom];
        secondBtn.frame = CGRectMake(20, 70, 335, 30);
        [secondBtn setTitle:@"Seconde Button" forState:UIControlStateNormal];
        
        // clearColor 透明颜色
        secondBtn.backgroundColor = [UIColor clearColor];
        
        // 设置图片
        
        // 加载项目中的图片
        UIImage *image = [UIImage imageNamed:@"bc_btn_blue"];
        
        NSLog(@"%f, %f", image.size.width, image.size.height);
        
        UIImage *heightlightedImage = [UIImage imageNamed:@"test"];
        
        // 设置Button的背景图片
        [secondBtn setBackgroundImage:image forState:UIControlStateNormal];
        [secondBtn setBackgroundImage:heightlightedImage forState:UIControlStateHighlighted];
        
        // 设置Button的图标
        // 图标这里,只会要图片的形状
        UIImage *iconImage = [UIImage imageNamed:@"IconEye"];
        UIImage *heightlightedIconImage = [UIImage imageNamed:@"IconFlag"];
        [secondBtn setImage:iconImage forState:UIControlStateNormal];
        [secondBtn setImage:heightlightedIconImage forState:UIControlStateHighlighted];
    
    //    secondBtn.tintColor = [UIColor redColor];
        
        [self.window addSubview:secondBtn];
        
       self.window.backgroundColor = [UIColor whiteColor];
        [self.window makeKeyAndVisible];
    
        return YES;
    }
    
    - (void)btnClicked:(UIButton *)btn
    {
        NSLog(@"2222");
    
    }
    

     如果对你有帮助,请关注我哦!

  • 相关阅读:
    集成服务监控器green.monitor发布
    细说Angular ngclass
    利用Travis CI 让你的github项目持续构建(Node.js为例)
    CSV和集合对象基于Annotation操作封装
    【HeadFirst 设计模式学习笔记】4 工厂模式
    【HeadFirst 设计模式学习笔记】5 单例模式
    【面向对象设计基础】常量数据管理器
    【面向对象设计基础】存取方法+Private类成员和方法
    【HeadFirst 设计模式学习笔记】3 装饰模式
    【HeadFirst 设计模式学习笔记】2 观察者模式
  • 原文地址:https://www.cnblogs.com/laolitou-ping/p/6221797.html
Copyright © 2011-2022 走看看