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. AngularJS与ASP.NET MVC登录超时解决方案

    问题: 1.在Action中判断Ajax请求的方法Request.IsAjaxRequest()始终是false 2.返回给前台StatusCode和HttpUnauthorizedResult,前台 ...

  2. 小工具:内存监视器(SystemMonitor)

    卸了360之后,与之捆绑的加速球也没了.加速球可以查看剩余内存量,清理残留进程,有的时候不觉得这小玩意有多大作用,卸了之后才知道后悔. 加速球的替代方案比比皆是,如Windows自带的任务管理器,窗口 ...

  3. 大数据系列修炼-Scala课程06

    关于Scala中的正则表达式与模式匹配结合的正则表达式Reg 正则表达式的实现:正则表达式的定义与其它语言差不多,只需在表达式后加一个.r,并且可以遍历相应的表达式进行匹配 //定义的正则表达式 va ...

  4. wp如何代码实现锁屏

    原文:wp如何代码实现锁屏 由于wp系统对开发者相对封闭,造成了用户对那些稍有用处但又不那么有用的功能过度追求,比如说重启.锁屏等功能.针对一个功能写两行代码,再起一个牛逼哼哼的名字,就可以获得超级多 ...

  5. 前端学习笔记(zepto或jquery)——对li标签的相关操作(二)

    对li标签的相关操作——8种方式获取li标签的第一个元素的内容 1.alert($("ul>li").first().html());2.alert($('ul>li' ...

  6. HTML解析利器-HtmlAgility学习

    原文:HTML解析利器-HtmlAgility学习 HtmlAgility是一个开源的Html解析库,据说是C#版的JQuery,功能非常强大. 该篇学习它的解析功能,还可以模拟用户请求,创建html ...

  7. asp.net 获得客户端 mac 地址

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

  8. finally 对 return 值没有影响

    public int gettest(ref int i, ref int k) { int j = 0; try { return i / j; } catch (Exception Ex) { k ...

  9. 《全体育&#183;瑜伽》

    今天出去吃饭,本来是想买<印象>创刊号的,结果没找着,看到一本<瑜伽>创刊号.作为一个伪瑜伽爱好者,我掏了20元大洋买了一本,你知道如今的时尚杂志都非常坏,用塑料膜封着,不能翻 ...

  10. iOS 学习

    iOS 学习资料 (适合初学者) 本文资料来源于GitHub 一.视频教程(英文) Developing iOS 7 Apps for iPhone and iPad斯坦福开放教程之一, 课程主要讲解 ...