1. UI 书写
最基本创建一个label 标签 写一个first rate : 
    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, 50, 300, 50)];
    label.backgroundColor = [UIColor orangeColor];
    label.text = @"first rate";
    label.textColor = [UIColor blueColor];
    label.textAlignment = NSTextAlignmentCenter;
    [self.window addSubview:label];
 
 
遍历所有字体:
 
    NSArray *fontArray = [UIFont familyNames];
    for (int i=0; i<fontArray.count; ++i) {
        NSLog(@"font:%@", fontArray[i]);
    }
    label.font = [UIFont fontWithName:@"Menlo" size:30];
 
写一个带有阴影的字体:
 
    UILabel *secondLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 150, 300, 50)];
    secondLabel.backgroundColor = [UIColor yellowColor];
    secondLabel.text = @"second rate";
    secondLabel.shadowColor = [UIColor lightGrayColor];
    secondLabel.shadowOffset=CGSizeMake(5, 5);
 
 
写一个 adjustsFontSizeToFitWidth 方法的函数
 
    UILabel *thirdLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 250, 300, 100)];
    thirdLabel.backgroundColor = [UIColor greenColor];
    thirdLabel.text = @"alsdfjalksdfjlas;dfalsjksdfsdfsfdfsdff;lasdjfksaklfj";
    thirdLabel.adjustsFontSizeToFitWidth=YES;
    //adjustsFontSizeToFitWidth 会自动缩小字体而刚好在这个Label框框中,但不会主动换行
 
 
写一个文本再框框中可以主动换行的例子
 
    UILabel *forthLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 350, 300, 100)];
    forthLabel.textColor = [UIColor orangeColor];
    forthLabel.text = @"adjustsFontSizeToFitWidth 会自动缩小字体而刚好在这个Label框框中,但不会主动换行";
    forthLabel.font = [UIFont boldSystemFontOfSize:30];
    forthLabel.numberOfLines = 0; //主动换行
    forthLabel.backgroundColor = [UIColor blueColor];
    //在框框能允许的范围内可以主动换行,如果框框无法包容文本大小,则会用..省略
 
 
写一个文本框框自动按照字体的多少自动延伸的例子
 
    NSString *str = @"这个Label可以根据字体的多少无限延长,如同如意金箍棒!";
    UIFont *font = [UIFont boldSystemFontOfSize:30];
    CGSize size = [str sizeWithFont:font constrainedToSize:CGSizeMake(300, 480)];
    UILabel *autoLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 220, size.width, size.height)];
    autoLabel.text = str;
    autoLabel.numberOfLines = 0;
    autoLabel.textColor = [UIColor redColor];
    autoLabel.backgroundColor = [UIColor blueColor];
    autoLabel.font = font;
 
 
 
写一个小例子 打印出下面生成随机小框框 图片的框框
 
 
 
 
代码如下:
 
    for (int i = 0; i< 320; i+=40) {
        for (int j = 0; j<380; j+=40) {
            CGRect rect = CGRectMake(i, j, 40, 40);
            CGFloat red = rand()/(RAND_MAX*1.0);
            CGFloat green = rand()/(RAND_MAX*1.0);
            CGFloat blue = rand()/(RAND_MAX*1.0);
            CGFloat alpha = rand()/(RAND_MAX*1.0);
            UIColor *myColer = [UIColor colorWithRed:red green:green blue:blue alpha:1];
            UIView *view = [[UIView alloc] initWithFrame:rect];
            view.backgroundColor = myColer;
            [self.window addSubview:view];
        }
    }
 
 
第二个小例子,完成下面图片的代码:
 
 

小方框可以闪动UI代码:
 
 

@implementation AppDelegate
{
    NSTimer *time;

time = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(ontime) userInfo:nil repeats:YES];
-(void)ontime
{
    for (int i= 120; i< 400; i+=100) {
        CGRect rect = CGRectMake(0, 0, 40, 40);
        CGFloat red = arc4random()/(0xffffffff*1.0);
        CGFloat green = arc4random()/(0xffffffff*1.0);
        CGFloat blue = arc4random()/(0xffffffff*1.0);
        CGFloat alpha = arc4random()/(0xffffffff*1.0);
        UIColor *myColer = [UIColor colorWithRed:red green:green blue:blue alpha:1];
        UIView *view = [[UIView alloc] initWithFrame:rect];
        view.backgroundColor = myColer;
        view.center = CGPointMake(160, i);
        [self.window addSubview:view];
    }
    
    for (int i= 60; i< 320; i+=200) {
        CGRect rect = CGRectMake(0, 0, 40, 40);
        CGFloat red = arc4random()/(0xffffffff*1.0);
        CGFloat green = arc4random()/(0xffffffff*1.0);
        CGFloat blue = arc4random()/(0xffffffff*1.0);
        CGFloat alpha = arc4random()/(0xffffffff*1.0);
        UIColor *myColer = [UIColor colorWithRed:red green:green blue:blue alpha:1];
        UIView *view = [[UIView alloc] initWithFrame:rect];
        view.backgroundColor = myColer;
        view.center = CGPointMake(i, 220);
        [self.window addSubview:view];
    }
    
    for (int i= 90; i< 320; i+=140) {
        CGRect rect = CGRectMake(0, 0, 40, 40);
        CGFloat red = arc4random()/(0xffffffff*1.0);
        CGFloat green = arc4random()/(0xffffffff*1.0);
        CGFloat blue = arc4random()/(0xffffffff*1.0);
        CGFloat alpha = arc4random()/(0xffffffff*1.0);
        UIColor *myColer = [UIColor colorWithRed:red green:green blue:blue alpha:1];
        UIView *view = [[UIView alloc] initWithFrame:rect];
        view.backgroundColor = myColer;
        view.center = CGPointMake(i, 150);
        [self.window addSubview:view];
    }
    
    for (int i= 90; i< 320; i+=140) {
        CGRect rect = CGRectMake(0, 0, 40, 40);
        CGFloat red = arc4random()/(0xffffffff*1.0);
        CGFloat green = arc4random()/(0xffffffff*1.0);
        CGFloat blue = arc4random()/(0xffffffff*1.0);
        CGFloat alpha = arc4random()/(0xffffffff*1.0);
        UIColor *myColer = [UIColor colorWithRed:red green:green blue:blue alpha:1];
        UIView *view = [[UIView alloc] initWithFrame:rect];
        view.backgroundColor = myColer;
        view.center = CGPointMake(i, 290);
        [self.window addSubview:view];
    }
}
 
 
 
 
 
 
 
 
 
 

IOS UI 第一篇:基本UI的更多相关文章

  1. IOS设计模式第一篇之MVC

    设计模式的好处:我们可以写出容易理解,重用度很高的代码.降低代码的耦合度,符合软件工程的思想. 设计模式主要分为三类:创造型的:单例和抽象工厂.结构类型的: MVC  Decorator, Adapt ...

  2. Android开发UI之开源项目第一篇——个性化控件(View)篇

    原文:http://blog.csdn.net/java886o/article/details/24355907 本文为那些不错的Android开源项目第一篇——个性化控件(View)篇,主要介绍A ...

  3. iOS编程实战 — 新的UI范式

    iOS 7给苹果设备带来了全新的用户界面(UI).iOS 7在UI上的变化是自其诞生以来最大的.iOS 7专注于三个重要的特点:清晰.依从和层次.理解这三个特点很重要,因为这有助于设计跟原生的系统内置 ...

  4. iOS开发——高级技术精选&底层开发之越狱开发第一篇

    底层开发之越狱开发第一篇 做越狱开发也有一些时间了,有很多东西想总结一下,希望给他人一些借鉴,也是自己对过去开发经历的一些总结.个人不推荐使用盗版,这里主要以技术介绍为主. 这个系列里面主要介绍怎样进 ...

  5. Jerry的WebClient UI 42篇原创文章合集

    我要感谢CRM On Premise, 因为在这个产品上做开发让我得以使用WebClient UI框架.有些朋友觉得这个SAP自己发明的基于HTML+ABAP的MVC框架,和现在流行的三驾马车(Ang ...

  6. ios 第一篇文章-xcode6.2键盘调不出来

    ios 第一篇文章 不晓得有没有人遇到过ios代码内调用键盘(keyboard)调不出来的情况,反正我是遇到了,按官方文档的说法调用键盘事件非常easy事实上: 我用了之后,不晓得为嘛,键盘就是不显示 ...

  7. WPF 精修篇 非UI进程后台更新UI进程

    原文:WPF 精修篇 非UI进程后台更新UI进程 <Grid> <Grid.RowDefinitions> <RowDefinition Height="11* ...

  8. iOS系列 基础篇 03 探究应用生命周期

    iOS系列 基础篇 03 探究应用生命周期 目录: 1. 非运行状态 - 应用启动场景 2. 点击Home键 - 应用退出场景 3. 挂起重新运行场景 4. 内存清除 - 应用终止场景 5. 结尾 本 ...

  9. iOS开发多线程篇—NSOperation基本操作

    iOS开发多线程篇—NSOperation基本操作 一.并发数 (1)并发数:同时执⾏行的任务数.比如,同时开3个线程执行3个任务,并发数就是3 (2)最大并发数:同一时间最多只能执行的任务的个数. ...

随机推荐

  1. Tigase XMPP Server在CentOS部署和配置

    Tigase XMPP Server在CentOS部署与配置 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 以下讲述Tigase XMPP Server ...

  2. Jquery基础教程第二版学习记录

    本文仅为个人jquery基础的学习,简单的记录以备忘. 在线手册:http://www.php100.com/manual/jquery/第一章:jquery入门基础jquery知识:jquery能做 ...

  3. ios swift学习日记1-Swift 初见

    最近ios的swift语言似乎火了,我没有objectc基金会,但在此之前有cjava的基础的.从这几天開始学习ios的swift语言.后期以博客形式公布.这里提供一本翻译的英文版的swif书籍. 还 ...

  4. zTree市县实现三个梯级DAO接口测试

    zTree市县实现三个梯级DAO接口测试 ProvinceDaoTest.java: /** * @Title:ProvinceDaoTest.java * @Package:com.gwtjs.da ...

  5. Controller与Action

    Controller与Action 我们知道在MVC5和之前的版本,两个框架的生命周期是不一样的,在新版MVC6中,MVC Controller/Web API Controller已经合二为一了,本 ...

  6. 左右linuxserver自己主动重启过程监控和简单的解决方案

    转载请注明出处:帘卷西风的专栏(http://blog.csdn.net/ljxfblog) 本周開始,新手游进行删档封測阶段,前两天表现还好,今天更新后出现几次宕机行为.比較影响玩家的測试和体验,我 ...

  7. Largest Rectangular Area in a Histogram

    题目地址:https://oj.leetcode.com/problems/largest-rectangle-in-histogram/ ,刚開始事实上没做这个题,而是在做https://oj.le ...

  8. YUV格式转换RGB(基于opencv)

    在编写代码将需要处理YUV格从每个视频帧中提取,然后将其保存为图片.有两种常见的方法在线,第一种是通过opencv自带cvCvtColor,可是这样的方法有bug.得到的图片会泛白.另外一种方法是公式 ...

  9. SQL点滴23—T-SQL中的除法

    原文:SQL点滴23-T-SQL中的除法 在T-SQL中没有除法运算,但是在T-SQL中可以实现类似除法的操作Divide.一般除法操作的结果一个列来自于被除关系表,剩下的来自除关系表.这里举一个例子 ...

  10. EventBus(事件总线)

    EventBus(事件总线) Guava在guava-libraries中为我们提供了事件总线EventBus库,它是事件发布订阅模式的实现,让我们能在领域驱动设计(DDD)中以事件的弱引用本质对我们 ...