zoukankan      html  css  js  c++  java
  • 【iOS基础控件

    在开发过程中,并不是每次都通过storyboard拖控件完成UI界面,因为storyboard上面的界面是“固定死”的,有时候可能会在程序运行过程中动态地添加一些新的控件到界面上。

    比如QQ的聊天信息,是有人发出一条信息后才动态显示出来的。

    因此,需要掌握如何用代码动态地添加控件 实际上,storyboard的本质就是根据图形界面描述转成相应的代码。

    实践:

    
    

    @implementation kViewController

    
    

     

    
    

    - (void)viewDidLoad

    
    

    {

    
    

        [super viewDidLoad];

    
    

    //1.创建按钮

    
    

        UIButton *btn = [[UIButton alloc]init];  // [UIButton buttonWithType:UIButtonTypeCustom];

    
    

        //2.添加按钮

    
    

        [self.view addSubview:btn];

    
    

        //3.设置frame

    
    

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

    
    

        //4.设置背景色

    
    

        btn.backgroundColor = [UIColor blueColor];

    
    

        

    
    

        //通过文件名加载图片,凡是png图片都不用加拓展名

    
    

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

    
    

        [btn setBackgroundImage:image  forState:UIControlStateNormal];

    
    

        

    
    

        UIImage *highlignt = [UIImage imageNamed:@"m_14_634599171325781250_35568510"];

    
    

        [btn setBackgroundImage:highlignt forState:UIControlStateHighlighted];

    
    

        

    
    

        [btn setTitle:@"点我啊" forState:UIControlStateNormal];

    
    

        [btn setTitle:@"摸我干嘛" forState:UIControlStateHighlighted];

    
    

        

    
    

        //监听按钮点击

    
    

        [btn addTarget:self action:@selector(btnclick:) forControlEvents:UIControlEventTouchUpInside];

    
    

    }

    
    

     

    
    

    -(void)btnclick:(UIButton *) btn{

        NSLog(@"-----%@",btn);

    }

     几行代码就可以代替在storyboard拖拽并设置控件属性同样的效果

        // 取得按钮的第一种做法是拖线,自动生成属性代码

        // 取得按钮的另外一种方法,如果两个view的tag相同,则按照优先级先找到先放进去的view

        //UIButton *UIbtn = (UIButton *)[self.view viewWithTag:xxx];//tag的值是在storyboard设置的

  • 相关阅读:
    no-useless-call (Rules) – Eslint 中文开发手册
    Java 8 Stream
    CSS3 ,checked 选择器
    MySQL 数据类型
    _Alignas (C keywords) – C 中文开发手册
    C 库函数 – modf()
    JavaScript E 属性
    SyntaxError.prototype (Errors) – JavaScript 中文开发手册
    swagger和openAPI: 上传文件
    Java中HashMap的putAll()方法: HashMap.putAll()
  • 原文地址:https://www.cnblogs.com/kengsir/p/4211564.html
Copyright © 2011-2022 走看看