1、修改UI大小
2、设置颜色
3、禁止横屏
4、点击空白处隐藏键盘
5、弹出键盘时,后面的UI整体上移
6、我的工具类[宏定义等]
1、修改UI大小可以通过frame或bounds属性来实现,但二者效果不同。

frame:

     修改大小后,原先的左上角的坐标不会改变,既以原来的左上角坐标位置保持不变为前提进行尺寸的改变。

bounds

      功能同frame,不同之处在于,以一身中点位置进行缩放。

修改位置的时候使用frame属性,它的坐标位置表示是的是一身在父空间种的坐标位置。

2、颜色设置:

+ (UIColor *)colorWithRed:(CGFloat)redgreen:(CGFloat)greenblue:(CGFloat)bluealpha:(CGFloat)alpha;
指定HSB,参数是:色调(hue),饱和的(saturation),亮度(brightness)

+ (UIColor *)colorWithHue:(CGFloat)huesaturation:(CGFloat)saturationbrightness:(CGFloat)brightnessalpha:(CGFloat)alpha;
在自定义View的时候 设置蒙版的颜色可以这样弄,蒙版用一个UIImageView来做 kenshin笔记

UIColor *color = [UIColor redColor]; UIColor *cl = [color colorWithAlphaComponent:0.5f]; 自定义255的颜色值,将255转成0-1

CGFloatR  = (CGFloat) 225/255.0;
CGFloatG = (CGFloat) 66/255.0;
CGFloatB = (CGFloat) 88/255.0;
CGFloat alpha = (CGFloat) 1.0; UIColor *myColorRGB = [ UIColorcolorWithRed:Rgreen:Gblue:Balpha: alpha ];
self.tableView.backgroundColor = myColorRGB;
3.IOS禁止横屏
4.

对键盘的隐藏——点击空白处隐藏、点击return键隐藏

5.

键盘出现时,后面的视图整体上移的方法
3.IOS禁止横屏(两种方式) 可以通过 cmd +右 方向键 在模拟器中测试
1:在AppDelegate中增加,这个方法可以禁止横屏

- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window  
    {  
         return UIInterfaceOrientationMaskPortrait;  
    }

4.对键盘的隐藏——点击键盘return键隐藏键盘、点击空白处隐藏键盘、

点击键盘return键隐藏键盘
2.1在需要实现的控制器中实现代理<UITextFieldDelegate>
2.2需要使用该功能的UITextField处,委托代理。记住一定是要在实例化之前【这一步很重要】
2.3实现代理方法
- (BOOL)textFieldShouldReturn:(UITextField *)textField
    [textField resignFirstResponder];
}

点击空白处隐藏键盘、
#pragma mark view代理 点击空白区域是触发

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    //关闭键盘
    [self.username resignFirstResponder];
    [self.password resignFirstResponder];
}
- (void)viewDidLoad
{
    [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(keyboardWillAppear2:) name:UIKeyboardWillShowNotification object:nil];
    [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(keyboardWillDisappear2:) name:UIKeyboardWillHideNotification object:nil];
}
#pragma mark 键盘 高度的计算
-(CGFloat)keyboardEndingFrameHeight:(NSDictionary *)userInfo//计算键盘的高度
{
//    传入的(NSDictionary *)userInfo用于存放键盘的各种信息,其中UIKeyboardFrameEndUserInfoKey对应的存放键盘的尺寸信息,以CGRect形式取出
    CGRect keyboardEndingUncorrectedFrame = [[userInfo objectForKey:UIKeyboardFrameEndUserInfoKey]CGRectValue];
    CGRect keyboardEndingFrame = [self.view convertRect:keyboardEndingUncorrectedFrame fromView:nil];
    return keyboardEndingFrame.size.height;
}
#pragma mark [步骤2/3]根据键盘高度将当前视图向上滚动同样高度。
-(void)keyboardWillAppear2:(NSNotification *)notification
{
   #pragma mark [步骤3/3]当键盘消失后,视图需要恢复原状。
-(void)keyboardWillDisappear2:(NSNotification *)notification
{
    CGRect currentFrame = self.view.frame;
    CGFloat keyBoardH = [self keyboardEndingFrameHeight:[notification userInfo]];
    currentFrame.origin.y = currentFrame.origin.y + keyBoardH * 0.4;
    self.view.frame = currentFrame;
   
    //下面if语句的原理和keyboardWillAppear
    if (currentFrame.origin.y < 0)
    {
        currentFrame.origin.y = 0;
        self.view.frame = currentFrame;
    }

}

6、我的工具类[宏定义等]

//
//  Tools.m
//  Device
//
//  Created by kenshin on 15-9-9.
//  Copyright (c) 2015年 kenshin. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <sqlite3.h>

//获取手机屏幕的宽、高
#define screenWidth [[UIScreen mainScreen] bounds].size.width
#define screenHeight [[UIScreen mainScreen] bounds].size.height

//字体颜色 为蓝色==帮助页面的背景色
#define blueMyColor [UIColor colorWithRed:84.0/255 green:173.0/255 blue:235.0/255 alpha:1.0]
#define colorMyButton [UIColor colorWithRed:0.0/255 green:122.0/255 blue:255.0/255 alpha:1.0]//参照IOS默认的Alert按钮颜色

#define colorPageIn [UIColor colorWithRed:27.0/255 green:73.0/255 blue:97.0/255 alpha:1.0]//深
#define colorPageCu [UIColor colorWithRed:120.0/255 green:180.0/255 blue:215.0/255 alpha:1.0]//浅
#define colorTextBack [UIColor colorWithRed:214.0/255 green:214.0/255 blue:214.0/255 alpha:1.0]//浅灰色

//全部按钮的背景
#define imgBtnHighlighted [UIImage imageNamed:@"buddy_header_bg_highlighted"]

//UI的圆角
#define YUANJIAO 8

//获取状态栏高度 貌似都使20
#define statusHeight [[UIApplication sharedApplication] statusBarFrame].size.height

//开关 字体大小
#define switchFontSize [UIFont systemFontOfSize:14]

#import "Tools.h"
#import "sys/utsname.h"
@implementation Tools

- (void)intoFirtstVC
{
    self.window = [[UIWindow alloc]initWithFrame:[[UIScreen mainScreen] bounds]];
    ViewController *rootController = [[ViewController alloc]init];
    self.window.rootViewController = rootController;
    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];
}

//获取当前手机型号
+ (NSString *)getCurrentDeviceModel
{
    struct utsname systemInfo;
    uname(&systemInfo);
    NSString *platform = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];
    
    
    if ([platform isEqualToString:@"iPhone1,1"]) return @"iPhone 2G (A1203)";
    if ([platform isEqualToString:@"iPhone1,2"]) return @"iPhone 3G (A1241/A1324)";
    if ([platform isEqualToString:@"iPhone2,1"]) return @"iPhone 3GS (A1303/A1325)";
    if ([platform isEqualToString:@"iPhone3,1"]) return @"iPhone 4 (A1332)";
    if ([platform isEqualToString:@"iPhone3,2"]) return @"iPhone 4 (A1332)";
    if ([platform isEqualToString:@"iPhone3,3"]) return @"iPhone 4 (A1349)";
    if ([platform isEqualToString:@"iPhone4,1"]) return @"iPhone 4S (A1387/A1431)";
    if ([platform isEqualToString:@"iPhone5,1"]) return @"iPhone 5 (A1428)";
    if ([platform isEqualToString:@"iPhone5,2"]) return @"iPhone 5 (A1429/A1442)";
    if ([platform isEqualToString:@"iPhone5,3"]) return @"iPhone 5c (A1456/A1532)";
    if ([platform isEqualToString:@"iPhone5,4"]) return @"iPhone 5c (A1507/A1516/A1526/A1529)";
    if ([platform isEqualToString:@"iPhone6,1"]) return @"iPhone 5s (A1453/A1533)";
    if ([platform isEqualToString:@"iPhone6,2"]) return @"iPhone 5s (A1457/A1518/A1528/A1530)";
    if ([platform isEqualToString:@"iPhone7,1"]) return @"iPhone 6 Plus (A1522/A1524)";
    if ([platform isEqualToString:@"iPhone7,2"]) return @"iPhone 6 (A1549/A1586)";
    if ([platform isEqualToString:@"iPhone8,1"]) return @"iPhone 6s Plus (A1522/A1524)";
    if ([platform isEqualToString:@"iPhone8,2"]) return @"iPhone 6s (A1549/A1586)";
    
    if ([platform isEqualToString:@"iPod1,1"])   return @"iPod Touch 1G (A1213)";
    if ([platform isEqualToString:@"iPod2,1"])   return @"iPod Touch 2G (A1288)";
    if ([platform isEqualToString:@"iPod3,1"])   return @"iPod Touch 3G (A1318)";
    if ([platform isEqualToString:@"iPod4,1"])   return @"iPod Touch 4G (A1367)";
    if ([platform isEqualToString:@"iPod5,1"])   return @"iPod Touch 5G (A1421/A1509)";
    
    if ([platform isEqualToString:@"iPad1,1"])   return @"iPad 1G (A1219/A1337)";
    
    if ([platform isEqualToString:@"iPad2,1"])   return @"iPad 2 (A1395)";
    if ([platform isEqualToString:@"iPad2,2"])   return @"iPad 2 (A1396)";
    if ([platform isEqualToString:@"iPad2,3"])   return @"iPad 2 (A1397)";
    if ([platform isEqualToString:@"iPad2,4"])   return @"iPad 2 (A1395+New Chip)";
    if ([platform isEqualToString:@"iPad2,5"])   return @"iPad Mini 1G (A1432)";
    if ([platform isEqualToString:@"iPad2,6"])   return @"iPad Mini 1G (A1454)";
    if ([platform isEqualToString:@"iPad2,7"])   return @"iPad Mini 1G (A1455)";
    
    if ([platform isEqualToString:@"iPad3,1"])   return @"iPad 3 (A1416)";
    if ([platform isEqualToString:@"iPad3,2"])   return @"iPad 3 (A1403)";
    if ([platform isEqualToString:@"iPad3,3"])   return @"iPad 3 (A1430)";
    if ([platform isEqualToString:@"iPad3,4"])   return @"iPad 4 (A1458)";
    if ([platform isEqualToString:@"iPad3,5"])   return @"iPad 4 (A1459)";
    if ([platform isEqualToString:@"iPad3,6"])   return @"iPad 4 (A1460)";
    
    if ([platform isEqualToString:@"iPad4,1"])   return @"iPad Air (A1474)";
    if ([platform isEqualToString:@"iPad4,2"])   return @"iPad Air (A1475)";
    if ([platform isEqualToString:@"iPad4,3"])   return @"iPad Air (A1476)";
    if ([platform isEqualToString:@"iPad4,4"])   return @"iPad Mini 2G (A1489)";
    if ([platform isEqualToString:@"iPad4,5"])   return @"iPad Mini 2G (A1490)";
    if ([platform isEqualToString:@"iPad4,6"])   return @"iPad Mini 2G (A1491)";
    
    if ([platform isEqualToString:@"i386"])      return @"iPhone Simulator";
    if ([platform isEqualToString:@"x86_64"])    return @"iPhone Simulator";
    return platform;
}
@end

IOS开发基础的更多相关文章

  1. IOS开发基础知识碎片-导航

    1:IOS开发基础知识--碎片1 a:NSString与NSInteger的互换 b:Objective-c中集合里面不能存放基础类型,比如int string float等,只能把它们转化成对象才可 ...

  2. iOS开发——总结篇&IOS开发基础知识

    IOS开发基础知识 1:Objective-C语法之动态类型(isKindOfClass, isMemberOfClass,id) 对象在运行时获取其类型的能力称为内省.内省可以有多种方法实现. 判断 ...

  3. IOS开发基础环境搭建

    一.目的 本文的目的是windows下IOS开发基础环境搭建做了对应的介绍,大家可根据文档步骤进行mac环境部署: 二.安装虚拟机 下载虚拟机安装文件绿色版,点击如下文件安装 获取安装包:       ...

  4. iOS开发基础-九宫格坐标(6)

    继续对iOS开发基础-九宫格坐标(5)中的代码进行优化. 优化思路:把字典转模型部分的数据处理操作也拿到模型类中去实现,即将 ViewController 类实现中 apps 方法搬到 WJQAppI ...

  5. iOS开发基础-九宫格坐标(5)

    继续在iOS开发基础-九宫格坐标(4)的基础上进行优化. 一.改进思路 1)iOS开发基础-九宫格坐标(4)中 viewDidLoad 方法中的第21.22行对控件属性的设置能否拿到视图类 WJQAp ...

  6. iOS开发基础-九宫格坐标(4)

    对iOS开发基础-九宫格坐标(3)的代码进行进一步优化. 新建一个 UIView 的子类,并命名为 WJQAppView ,将 appxib.xib 中的 UIView 对象与新建的视图类进行关联. ...

  7. iOS开发基础-九宫格坐标(3)之Xib

    延续iOS开发基础-九宫格坐标(2)的内容,对其进行部分修改. 本部分采用 Xib 文件来创建用于显示图片的 UIView 对象. 一.简单介绍  Xib 和 storyboard 的比较: 1) X ...

  8. iOS开发基础-九宫格坐标(2)之模型

    在iOS开发基础-九宫格(1)中,属性变量 apps 是从plist文件中加载数据的,在 viewDidLoad 方法中的第20行.26行中,直接通过字典的键名来获取相应的信息,使得 ViewCont ...

  9. iOS开发基础-图片切换(4)之懒加载

    延续:iOS开发基础-图片切换(3),对(3)里面的代码用懒加载进行改善. 一.懒加载基本内容 懒加载(延迟加载):即在需要的时候才加载,修改属性的 getter 方法. 注意:懒加载时一定要先判断该 ...

  10. iOS开发基础-图片切换(3)之属性列表

    延续:iOS开发基础-图片切换(2),对(2)里面的代码用属性列表plist进行改善. 新建 Property List 命名为 Data 获得一个后缀为 .plist 的文件. 按如图修改刚创建的文 ...

随机推荐

  1. (转)重磅出击:MongoDB 3.0正式版即将发布

    MongoDB 今天宣布 3.0 正式版本即将发布.这标志着 MongoDB 数据库进入了一个全新的发展阶段,提供强大.灵活而且易于管理的数据库管理系统. MongoDB 3.0 在性能和伸缩性方面都 ...

  2. IE 8 中 parseInt 的注意点

    今天碰到个坑爹的问题,一句 parseInt(StringNum) 在 IE 8 里面居然会出错,后来发现是因为 IE 8 中 parseInt("08") 和 parseInt( ...

  3. 哈希表的C++实现(转)

    哈希表的几个概念: 映像:由哈希函数得到的哈希表是一个映像. 冲突:如果两个关键字的哈希函数值相等,这种现象称为冲突. 处理冲突的几个方法: 1.开放地址法:用开放地址处理冲突就是当冲突发生时,形成一 ...

  4. web组件新学--layer

    在之前项目后台管理界面开发中,不知道有layer这样好用的组件,我的内心是这样的的...呀!这个框架有弹框,哈哈哈,好开心,不用自己写遮罩层,不用自己写弹框,好开森.. 当知道有layer之后.... ...

  5. php无极分类

    <?php date_default_timezone_set('PRC'); header('Content-type:text/html;charset=UTF-8'); /* $a_lis ...

  6. 用PHP生成随机数的函数

    转自:http://www.jbxue.com/article/5034.html 介绍:在早期的php中生成一个随机字符串时,总是先创建一个字符池,然后用一个循环和mt_rand()或rand()生 ...

  7. ubuntu下Django的下载与安装(三种方法)

    方法一: 1下载: 1 安装python,Linux系统下,一般是安装好的,可以输入如下命令查看 python -V 如果没有安装,则需要安装,安装方法如下,首先从官网下载源码,然后: (1) $ t ...

  8. OFBIZ bug_create-component ERROR

    开发环境:win7 64位 Eclipse 运行create-component,报一下错误: Buildfile: F:\workspace\opensource\apache-obiz\apach ...

  9. 【BZOJ [1878】[SDOI2009]HH的项链

    Description HH有一串由各种漂亮的贝壳组成的项链.HH相信不同的贝壳会带来好运,所以每次散步 完后,他都会随意取出一段贝壳,思考它们所表达的含义.HH不断地收集新的贝壳,因此, 他的项链变 ...

  10. jquery全局加载函数的几种方式;

    1.使用javascript方式(function(){})(); 2.使用jQuery(function($) {}); 3.使用$(document).ready(function(){}); 其 ...