Object-c学习之自定义视图

原创 2015年11月20日 19:52:30

      在object-c编程中,有很多需要自定义的控件,或者视图。那么我们要如何来自己定义满足自己要求的视图或者控件呢?

      1.首先

             我们第一次创建第一个object-cApp的时候。我们需要把系统自己给我们的视图给删除掉

      2.第二步,在程序的info.plist配置文件中把main storyboard file base name 属性设置为空

     3.第3步  在AppDelegate.m中,手动创建window,以及一些程序运行的一些基本配置

//手动创建window
    self.window = [[UIWindow alloc]initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height)];
    self.window.backgroundColor = [UIColor redColor];
    //创建根控制器
    ViewController *view = [[ViewController alloc]init];
    //绑定控制器
    self.window.rootViewController = view;
    //设置最先加载的视图
    [self.window makeKeyAndVisible];


     第4步 我们开始创建我们自己定义的视图,也就是图2中的MytestView视图,创建好了之后我们来实现一下

//自定义初始化方法
- (instancetype)initWithFrame:(CGRect)frame infoDictionary:(NSDictionary *)dict
{
    //设置控件frame
    self = [super initWithFrame:frame];
    if (self) {
        //传入字典。
        [self setShowInfoView:dict];
    }
    return self;
}
- (void) setShowInfoView:(NSDictionary *)dict
{
    //头像
    UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(20, 20, 150, 150)];
    //从dict字典中获取图片头像。并且显示到imageView
    imageView.image = [UIImage imageNamed:dict[@"pic"]];
    //将空图片控件添加到视图,之前写的是这样添加的[self.view addSubview:],这本身就是一个视图所有不用点view
    [self addSubview:imageView];
    //姓名
    UILabel *labelName = [[UILabel alloc]initWithFrame:CGRectMake(CGRectGetMaxX(imageView.frame)+10, 20, 100, 44)];
    //从dict字典中获取姓名字符串显示到lableName上
    labelName.text = dict[@"name"];
    //设置字体居中
    labelName.textAlignment = NSTextAlignmentCenter;
    labelName.textColor = [UIColor blackColor];
    //将控件添加到视图
    [self addSubview:labelName];
    
    //介绍信息
    UITextView *textView = [[UITextView alloc]initWithFrame:CGRectMake(20, CGRectGetMaxX(imageView.frame), 300, 150)];
    //从dict字典中获取信息显示到介绍文本框中
    textView.text = dict[@"Info"];
    //设置能否编辑
    textView.editable = NO;
    //设置背景颜色
    textView.textColor = [UIColor orangeColor];
    [self addSubview:textView];
}

      第5步 添加我们自定义的视图控件

NSDictionary *dic = @{@"pic":@"Steve Jobs.png",@"name":@"乔布什",@"Info":@"11月4日,瑞士著名钟表制造商天梭表宣布与五支NBA球队建立合作关系,进一步扩大了其作为NBA官方计时的承诺。这五支球队分别是:芝加哥公牛队、洛杉矶湖人队、迈阿密热火队、纽约尼克斯队和圣安东尼奥马刺队。"};
    MyTestView *testView = [[MyTestView alloc]initWithFrame:self.view.frame infoDictionary:dic];
    [self.view addSubview:testView];



版权声明:本文为博主原创文章,未经博主允许不得转载。

object-c 入门基础篇

转自:http://www.cnblogs.com/moonvan/archive/2011/10/13/2210498.html
  • yasi_xi
  • yasi_xi
  • 2014年11月16日 14:19
  • 915

object-c中NSString的常见操作

一.NSString               实例化的方法 //1. initWithString通过字符串对象实例化对象  NSString *nsstr=@"abcd"; //...
  • u012260740
  • u012260740
  • 2014年08月17日 23:05
  • 673

springmvc学习笔记(15)——自定义视图

什么时候用到自定义视图通常我们所用到的视图就是jsp等网页,有些时候,我们会根据我们的需求自定义视图。比如我们要提交一个表单,然后把表单的内容导出为Excel,这时候我们就可以定义一个导出Excel的...
  • u010837612
  • u010837612
  • 2015年04月24日 15:36
  • 1940

springMVC(9)------自定义视图解析器

BeanNameViewResolver自定义视图解析器
  • yhl_jxy
  • yhl_jxy
  • 2016年05月02日 21:30
  • 1941

iOS - 点击弹出自定义视图

demo效果这个效果比较简单,直接记录一下。自定义一个继承自UIView的视图,定义两个方法一个显示方法,一个消失方法。/** * 显示属性选择视图 * * @param view 要在哪个...
  • fanxiaomeng92
  • fanxiaomeng92
  • 2017年06月07日 21:09
  • 650

iOS自定义弹出视图,以及简单的手势讲解

学习iOS也有一段时间了。也在试着用iOS来写项目,感谢各路大神的帮助,就不一一@了。本文只是记载本人的学习过程。                                       ...
  • quanhaoH
  • quanhaoH
  • 2014年12月09日 21:11
  • 1274

iOS中自定义视图控件

在平常的开发中,可能有些代码是有重复使用,或者在另外的一个项目中会有这样的功能段.这个时候我们就要把该功能段封装,打包,以便后续使用. 在调用的时候用有点类似于:有很多属性的类一样,在调用的使用要...
  • whuizhou
  • whuizhou
  • 2015年07月14日 19:45
  • 591

UI开发----自定义视图和视图控制器(Controller)

//  Created By 郭仔  2015年04月14日21:34:01 一.自定义视图: 根据需求的不同,⾃自定义视图继承的类也有所不同。⼀一般⾃自定义的 视图会继承于UIView...
  • guoxianzhuang
  • guoxianzhuang
  • 2015年04月14日 22:00
  • 5205

springMvc自定义视图及解析器

我们以jfreechart为例,自定义一个chart视图及解析器。 首先,自定义视图类ChartView,继承AbstractView, 如下: public class ChartView exte...
  • zh_w_h163
  • zh_w_h163
  • 2014年01月13日 15:52
  • 7665

spring视图解析——自定义解析器实例

第一种方式: 在基于SpringMVC的项目中有时需要同时使用多种视图格式,如jsp,velocity及freemarker等,通过不同的请求路径配置规则,映射到不同的视图文件。下面我提供一种思...
  • bestone0213
  • bestone0213
  • 2015年10月22日 16:42
  • 1615
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Object-c学习之自定义视图
举报原因:
原因补充:

(最多只允许输入30个字)