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. poj2443(简单的状态压缩)

    POJ2443 Set Operation Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 2679   Accepted:  ...

  2. [Shell]输入參数

    获取shell脚本的输入參数,而且推断得到的參数. #!/bin/bash #title: testPT.sh #atuhor: orangleliu #date: 2014-08-08 #desc: ...

  3. ABP分层架构

    ABP分层架构 基于DDD的现代ASP.NET开发框架--ABP系列之3.ABP分层架构 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ABP ...

  4. [Android] Upload package to device fails #2720

    错误描述: 解决办法:   来源:https://facebook.github.io/react-native/docs/android-setup.html

  5. oracle_修改连接数

    修改Oracle最大连接数 1.查询Oracle会话的方法   select * from v$session 2.修改Oracle最大连接数的方法      a.以sysdba身份登陆PL/SQL ...

  6. kobox : key_waitqueue.c -v1 如何内核线程,如何使用等待队列

    平台:TQ2440 按键驱动 (1)在init中创建一个内核线程作为等待队列的处理函数,该内核线程是一个while(1)死循环,一直检測等待队列的触发条件 DECLARE_WAIT_QUEUE_HEA ...

  7. 表达式树 Expression

    转载泛型方法动态生成表达式树 Expression public string GetGridJSON(TraderInfo model) { IQueryable<TraderInfo> ...

  8. passenger安装nginx

    1.更换淘宝gem gem sources --remove https://rubygems.org/ gem sources -a https://ruby.taobao.org/ 2.gem安装 ...

  9. MVC 5 Web编程2 -- URL映射

    ASP.NET MVC 5 Web编程2 -- URL映射(路由原理) 2015-02-12 08:50 by hangwei, 704 阅读, 5 评论, 收藏, 编辑 本章将讲述ASP.NET M ...

  10. 谈谈那些年PHP中屌屌的验证码

    验证码已经是现在网站中非常基础的知识点了,验证码的存在可以防止恶意破解密码.刷票.灌水,可以有效的防止暴力破解特定用户. 现在就来了解了解那些年PHP中屌屌的验证码吧. 首先,以四位验证码为例(多位验 ...