1:当有导航栏的时候,子视图为UIScrollView,或是继承于UIScrollView的控件如UITableView,UICollectionView等,控制器会自动调用

self.automaticallyAdjustsScrollViewInsets = YES;方法,自动为控件添加64的额外的滚动区域,若存在多个控件,则系统会自动找到第一个添加的控件,执行此方法,增加64额外的滚动区域,如果想禁止此操作,可在控制器中实现方法:self.automaticallyAdjustsScrollViewInsets = NO;或是设置UIScrollView的contentInset,tableView的contentInset,来减少滚动区域。

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
[super viewDidLoad]; // 1:不会自动去调整uiscrollView的contentInset属性
self.automaticallyAdjustsScrollViewInsets = NO;
UIScrollView *scrollView = [[UIScrollView alloc] init];
scrollView.frame = CGRectMake(, , , );
scrollView.backgroundColor = [UIColor redColor];
[self.view addSubview:scrollView]; [scrollView addSubview:[[UISwitch alloc] init]];
}

2:在宏定义文件中的NSLog定义

#ifdef DEBUG

#define DLog(...)  NSLog(__VA_ARGS__)

#else

#define DLog(...)

#endif

一些颜色的宏定义

//1:RGB颜色
#define RGB(a,b,c) [UIColor colorWithRed:(a)/255.0 green:(b)/255.0 blue:(c)/255.0 alpha:1] //2:包含设置透明度
#define RGBColor(a,b,c,d) [UIColor colorWithRed:(a)/255.0 green:(b)/255.0 blue:(c)/255.0 alpha:d] //3:随机色
#define ARC4Color RGB(arc4random_uniform(256),arc4random_uniform(256),arc4random_uniform(256))

3:pch文件的定义:在项目的Target---BuildSetting---prefixHeader---删除在桌面文件夹的路径,只保留项目的路径,再输入$(SRCROOT),如:$(SRCROOT)/网易新闻抽屉效果/Classes/Main/Utils/PrefixHeader.pch

4:通过图形上下文将color绘制成一张图片:

 //提供颜色接口,返回一张图片

 #import <UIKit/UIKit.h>

 @interface UIImage (Cqb)

 +(UIImage*)imageWithColor:(UIColor*)color;
@end
 #import "UIImage+Cqb.h"

 @implementation UIImage (Cqb)

 + (UIImage*)imageWithColor:(UIColor*)color {

     //1:开启基于位图的图形上下文
CGFloat imageWidth = ;
CGFloat imageHeight = ;
UIGraphicsBeginImageContextWithOptions(CGSizeMake(imageWidth, imageHeight), NO, 0.0); //2:画一个color颜色的矩形框
[color set];
UIRectFill(CGRectMake(, , imageWidth, imageHeight)); //3:得到图片
UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); //4:关闭图形上下文
UIGraphicsEndImageContext(); return image;
}

5:UIView计算尺寸的分类:

 #import <UIKit/UIKit.h>

 @interface UIView (Cqb)
@property (nonatomic,assign)CGFloat X;
@property (nonatomic,assign)CGFloat Y;
@property (nonatomic,assign)CGFloat width;
@property (nonatomic,assign)CGFloat height;
@property (nonatomic,assign)CGFloat centerX;
@property (nonatomic,assign)CGFloat centerY;
@property (nonatomic,assign)CGSize size;
@end
 #import "UIView+Cqb.h"

 @implementation UIView (Cqb)

 - (void)setX:(CGFloat)X {

     CGRect frame = self.frame;
frame.origin.x = X;
self.frame = frame; } - (CGFloat)X { return self.frame.origin.x;
} - (void)setY:(CGFloat)Y { CGRect frame = self.frame;
frame.origin.y = Y;
self.frame = frame; } - (CGFloat)Y { return self.frame.origin.y;
} - (void)setWidth:(CGFloat)width { CGRect frame = self.frame;
frame.size.width = width;
self.frame = frame; } - (CGFloat)width { return self.frame.size.width;
} - (void)setHeight:(CGFloat)height { CGRect frame = self.frame;
frame.size.height = height;
self.frame = frame;
} - (CGFloat)height { return self.frame.size.height;
} - (void)setCenterX:(CGFloat)centerX { CGPoint center = self.center;
center.x = centerX;
self.center = center; } - (CGFloat)centerX { return self.center.x;
} - (void)setCenterY:(CGFloat)centerY { CGPoint center = self.center;
center.y = centerY;
self.center = center;
} - (CGFloat)centerY { return self.center.y;
} - (void)setSize:(CGSize)size { CGRect frame = self.frame;
frame.size = size;
self.frame = frame; } - (CGSize)size { return self.frame.size;
} @end

6:对自定义UIBarButtonItem的分类封装:

 #import <UIKit/UIKit.h>

 @interface UIBarButtonItem (Extension)
+ (UIBarButtonItem *)itemWithImageName:(NSString *)imageName target:(id)target action:(SEL)action;
@end
 #import "UIBarButtonItem+Extension.h"

 @implementation UIBarButtonItem (Extension)
+ (UIBarButtonItem *)itemWithImageName:(NSString *)imageName target:(id)target action:(SEL)action
{
UIButton *button = [[UIButton alloc] init];
[button setBackgroundImage:[UIImage imageNamed:imageName] forState:UIControlStateNormal]; // 设置按钮的尺寸为背景图片的尺寸
button.size = button.currentBackgroundImage.size; // 监听按钮点击
[button addTarget:target action:action forControlEvents:UIControlEventTouchUpInside];
return [[UIBarButtonItem alloc] initWithCustomView:button];
}
@end

6:当做真机调试的时候,要在buildSetting中配置好证书,并在info里选择开发者账号才可以

ios开发零散知识点总结的更多相关文章

  1. iOS学习——iOS开发小知识点集合

    在iOS学习和开发过程中,经常会遇到一些很小的知识点和问题,一两句话就可以解释清楚了,这样的知识点写一篇随笔又没有必要,但是又想mark一下,以备不时之需,所以就有了本文.后面遇到一些小的知识点会不断 ...

  2. IOS开发,知识点小结,ios开发中经常使用的宏定义总结

    IOS开发,从应用跳转到用浏览器打开网页: [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http:// ...

  3. iOS开发零碎知识点

    记录一些常用和不常用的iOS知识点,防止遗忘丢失.(来源为收集自己项目中用到的或者整理看到博客中的知识点),如有错误,欢迎大家批评指正:如有好的知识点,也欢迎大家联系我,添加上去.谢谢! 一.调用代码 ...

  4. iOS开发 小知识点

    1/ iOS汉字百分号互相转换. //汉字 NSString * name = @"时间终于将我对你的爱消耗殆尽"; //汉字转为百分比 NSString * encodeStri ...

  5. iOS开发系列--IOS程序开发概览

    概览 终于到了真正接触IOS应用程序的时刻了,之前我们花了很多时间去讨论C语言.ObjC等知识,对于很多朋友而言开发IOS第一天就想直接看到成果,看到可以运行的IOS程序.但是这里我想强调一下,前面的 ...

  6. IOS开发涉及有点概念&相关知识点

    前言,IOS是基于UNIX的,用C/C+/OC直通系统底层,不想android有个jvm. 首先还是系统架构的分层架构 1.核心操作系统层 Core OS,就是内存管理.文件系统.电源管理等 2.核心 ...

  7. iOS开发中关于UIImage的知识点总结

    UIImage是iOS中层级比较高的一个用来加载和绘制图像的一个类,更底层的类还有 CGImage,以及iOS5.0以后新增加的CIImage.今天我们主要聊一聊UIImage的三个属性: image ...

  8. iOS开发:开发证书知识点总结

    1. Error: An App ID with identifier "*" is not avaliable. Please enter a different string. ...

  9. iOS开发核心语言Objective C —— 所有知识点总结

    C和OC对比 OC中主要开发在什么平台上的应用程序?答:可以使用OC开发Mac OS X平台和iOS平台的应用程序 OC中新增关键字大部分是以什么开头?答:OC中新增关键字大部分是以@开头 OC中新增 ...

随机推荐

  1. ubuntu16 升级后找不到 eth0 网卡 的解决方法

    ubuntu16 升级后找不到 eth0 网卡 的解决方法 今天在VPS上一时手痒,执行了升级命令 apt-get update 更新软件包索引,源 apt-get upgrade 更新软件包 apt ...

  2. thinkphp5 left join

    thinkphp5 left join 一.总结 1.作用:left join就是即使不匹配也返回左表中的数据 2.join使用通式:object join ( mixed join [, mixed ...

  3. Input File选择图片后,未保存预览

    今天实现上传图片到服务器 简单的jQuery实现input file选择图片后,可以预览图片的效果 简单的HTML代码: <div> <img src="" cl ...

  4. 使IIS服务器支持下载 apk/ipa 安装包

    默认情况下,使用IIS作为Web服务器的无法下载此文件,访问会触发404错误,服务器找不到对应资源. IIS服务器不能下载.apk文件的原因:iis的默认MIME类型中没有.apk文件,所以无法下载. ...

  5. Ubuntu系统简介

    1.ubuntu 远程连接 需要开启ssh 服务 sudo apt-get install openssh-server service ssh start|stop|restart 2.查看Linu ...

  6. Android-ViewPager+Fragment数据更新问题

    由于FragmentPagerAdapter内部存在缓存.因此调用notifyDataSetChanged()并不可以去更新Fragment的内容. 參考:http://www.devba.com/i ...

  7. Spark MLlib LDA 源代码解析

    1.Spark MLlib LDA源代码解析 http://blog.csdn.net/sunbow0 Spark MLlib LDA 应该算是比較难理解的,当中涉及到大量的概率与统计的相关知识,并且 ...

  8. Android .getRGB得到是负数,解决方案

    情景:ava.awt.color 下面的getRGB怎么得出的是负数???本来想通过getRGB得到一个整数,在另外的一个部分在根据这个整数构件一个color,因为参数规定只能能传整数!!!color ...

  9. go package的理解

    golang package是基本的管理单元, 同一个package下面,可以有非常多的不同文件,只要 每个文件的头部    都有 如 "package xxx" 的相同name, ...

  10. 《社交红利》读书总结--如何从微信微博QQ空间等社交网络带走海量用户、流量与收入

    <社交红利--如何从微信微博QQ空间等社交网络带走海量用户.流量与收入>--徐志斌 著 <社交红利>这本书2013年9月才上市,卖的非常火. 我最初是在公司内部的期刊上,看到有 ...