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. OCP读书笔记(27) - 题库(ExamG)

    601.You need to perform a block media recovery on the tools01.dbf data file in the SALES database by ...

  2. 第14章 命令模式(Command Pattern)

    原文 第14章 命令模式(Command Pattern) 命令模式(Command Pattern) 概述   在软件系统中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”.但在某些场合,比如 ...

  3. JQUERY prop与attr差额

    1.  1-9-1之前和之后之间的差 <html> <script src="Js/jquery-1.9.0.js" type="text/javasc ...

  4. Java生成CSV文件

    1.新CSVUtils.java文件: package com.saicfc.pmpf.internal.manage.utils; import java.io.BufferedWriter; im ...

  5. java:高速排序算法与冒泡排序算法

     Java:高速排序算法与冒泡算法 首先看下,冒泡排序算法与高速排序算法的效率: 例如以下的是main方法: /**   *  * @Description:  * @author:cuiyaon ...

  6. OpenVPN多处理之-最新架构

    好久没有更新这个系列了,由于我之前也说过,前段时间实在太忙了,并且早在一个月前就预示着本月将更加忙!事实也确实如此!最终在国庆前夕完毕了既定的计划,心里也最终能够长出一口气了.近期在忙什么呢?事实上就 ...

  7. Redis源代码分析(二十七)--- rio制I/O包裹

    I/O每个操作系统,它的一个组成部分.和I/O业务质量,在一定程度上也影响了系统的效率. 今天,我在了解了Redis中间I/O的,相同的,Redis在他自己的系统中.也封装了一个I/O层.简称RIO. ...

  8. ajax form表单提交 input file中的文件

    ajax form表单提交 input file中的文件 现今的主流浏览器由于ajax提交form表单无法把文件类型数据提交到后台,供后台处理,可是开发中由于某些原因又不得不用ajax提交文件, 为了 ...

  9. [Attila GPU] ATTILA GPU Streamer Unit (D3D Input Assambler) 结构分析

    http://www.opengpu.org/forum.php?mod=viewthread&tid=40&highlight=Attila 查看: 7488|回复: 26    [ ...

  10. Factorization Machines 学习笔记(二)模型方程

      近期学习了一种叫做 Factorization Machines(简称 FM)的算法,它可对随意的实值向量进行预測.其主要长处包含: 1) 可用于高度稀疏数据场景:2) 具有线性的计算复杂度.本文 ...