iOS的一像素线】的更多相关文章

文/stark_yang(简书作者)原文链接:http://www.jianshu.com/p/b83dca88ef73著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 时常总结以前学过的东西,才能不断向前,在这里总结一下之前遇到过的关于如何绘制一像素线的问题,我们在这里主要解决两个问题,第一个是在项目中为什么需要一像素的线?第二个是在(storyboard?)中怎样画出一像素的线? 首先为什么要画一像素的线?当我们在代码中或storyboard中设置坐标系统中的任何图形时,采用的…
文/stark_yang(简书作者)原文链接:http://www.jianshu.com/p/b83dca88ef73著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 时常总结以前学过的东西,才能不断向前,在这里总结一下之前遇到过的关于如何绘制一像素线的问题,我们在这里主要解决两个问题,第一个是在项目中为什么需要一像素的线?第二个是在(storyboard?)中怎样画出一像素的线? 首先为什么要画一像素的线?当我们在代码中或storyboard中设置坐标系统中的任何图形时,采用的…
一.Point Vs Pixel iOS中当我们使用Quartz,UIKit,CoreAnimation等框架时,所有的坐标系统采用Point来衡量.系统在实际渲染到设置时会帮助我们处理Point到Pixel的转换. 这样做的好处隔离变化,即我们在布局的事后不需要关注当前设备是否为Retina,直接按照一套坐标系统来布局即可. 实际使用中我们需要牢记下面这一点: One point does not necessarily correspond to one physical pixel. 1…
float sortaPixel = 1.0/[UIScreen mainScreen].scale; UIView* line = [[UIView alloc]initWithFrame:CGRectMake(,,WIDTH,sortaPixel)]; line.backgroundColor = [UIColor purpleColor]; [self.view addSubview:line];…
如果是代码实现,直接 在CGRectMake里把对应的参数设置为: 1.0/[UIScreenmainScreen].scale 即可.         如果是用xib实现,就需要将对应的限制拖一个IBOutlet到对应类的.m文件中,如下图,   Outlet如下:     然后在ViewDidLoad时,设置其参数即可: self.botomLineHeightConstraint.constant = 1.0/[UIScreenmainScreen].scale;    …
IOS中对图片进行重绘处理的方法总结 一.CGImageRef是什么 CGImageRef是定义在QuartzCore框架中的一个结构体指针,用C语言编写.在CGImage.h文件中,我们可以看到下面的定义: ? 1 typedef struct CGImage *CGImageRef; CGImageRef 和 struct CGImage * 是完全等价的.这个结构用来创建像素位图,可以通过操作存储的像素位来编辑图片. QuartzCore这个框架是可移植的. 二.CGImageRef相关的…
译注:这篇文章虽然比较长,但是里面的内容还是很有价值的. 像素是如何绘制到屏幕上面的?把数据输出到屏幕的方法有很多,通过调用很多不同的framework和不同的函数.这里我们讲一下这个过程背后的东西.希望能够帮助大家了解什么时候该使用什么API,特别是当遇到性能问题需要调试的时候.当然,我们这里主要讲iOS,但是事实上,很多东西也是可以应用到OSX上面的. Graphics Stack 绘制屏幕的过程中又很多都是不被人了解的.但是一旦像素被绘制到屏幕上面,那么像素就是有3种颜色组成:红绿蓝.这3…
一:基本画线: 使用贝赛尔曲线画: //创建路径 UIBezierPath* aPath = [UIBezierPath bezierPath]; //设置线宽 aPath.lineWidth = 5.0; //线条拐角 aPath.lineCapStyle = kCGLineCapRound; //终点处理 aPath.lineJoinStyle = kCGLineCapRound; //画线的起点 [aPath moveToPoint:CGPointMake(100.0, 0.0)]; //…
创建自定义子类DeleteLineLabel,继承自UILabel,然后在自定义子类DeleteLineLabel中 方法一(上下文): - (void)drawRect:(CGRect)rect { [super drawRect:rect]; CGContextRef ref = UIGraphicsGetCurrentContext(); //绘制起点 CGContextMoveToPoint(, rect.size.height * 0.5); //绘制终点 CGContextAddLi…
在ios中,使用多线程有三种方式,分别是:NSThread.NSOperation和NSOperationQueue.GCD,在本节,主要讲解一下CDD的使用. GCD(Grand Central Dispatch) ,他是基于C语言开发的一套多线程开发机制,也是目前苹果官方推荐的多线程开发方法.GCD的抽象层次最高,用起来比较简单,但是因为它是基于C语言开发的,是面向过程的,所以在使用的时候不如面向对象的好理解.但是GCD这种机制相比较于前面两种多线程开发方式最显著的优点就是它对于多核运算更加…
iOS多线程初体验是本文要介绍的内容,iPhone中的线程应用并不是无节制的,官方给出的资料显示iPhone OS下的主线程的堆栈大小是1M,第二个线程开始都是512KB.并且该值不能通过编译器开关或线程API函数来更改.只有主线程有直接修改UI的能力. 一. NSOperation和NSOperationQueue 1.一个继承自  NSOperation的操作类,该类的实现中必须有 - (void)main方法的. 2.使用NSOperation的最简单方法就是将其放入NSOperation…
删除黑色边框线导航栏 in viewDidload: [self.navigationController.navigationBar setBackgroundImage:[[UIImage alloc] init] forBarMetrics:UIBarMetricsDefault]; self.navigationController.navigationBar.shadowImage = [[UIImage alloc] init]; 去掉搜索框的边界黑线 in viewDidload:…
遇到坑了: NSString *goodsPrice = @"230.39"; NSString *marketPrice = @"299.99"; NSString* prceString = [NSString stringWithFormat:@"%@ %@",goodsPrice,marketPrice]; DLog(@"----打印--%@---",prceString); NSMutableAttributedSt…
效果显示如下: 只需要子类化Label,重写DrawRect()方法即可: #import "MyLabel.h" @implementation MyLabel - (instancetype)initWithFrame:(CGRect)frame{ self = [super initWithFrame:frame]; if (self) { } return self; } //重写UILabel的drawRect类 - (void)drawRect:(CGRect)rect{…
本文永久地址为http://www.cnblogs.com/ChenYilong/p/4011728.html ,转载请注明出处.   本文永久地址为http://www.cnblogs.com/ChenYilong/p/4011728.html ,转载请注明出处. 技术博客http://www.cnblogs.com/ChenYilong/   …
如题,有时显示UITableView多出部分在页面时,下面会显示处多出的行, 此时应该在UITableView初始化时设置为Group if (_tableView == nil) { _tableView = [[UITableView alloc] initWithFrame:self.bounds style:UITableViewStyleGrouped]; _tableView.backgroundColor = [UIColor clearColor]; }…
1.if ([[[UIDevicecurrentDevice] systemVersion] floatValue] >= 7) { self.view.bounds = CGRectMake(0, -20, self.view.frame.size.width, self.view.frame.size.height ); } 2.http://www.ifun.cc/blog/2013/09/28/gua-pei-ios7kai-fa/…
假如Layer S·在Layer D上面,则最终的屏幕的颜色值如下: \[R = S + D \cdot (1- S_\alpha)\] \(R\): 最终的RGB \(S\): source color,顶层的颜色,已经经过相乘 \(D\): destination color,底层的颜色,已经经过相乘 设顶层颜色用RGB表示是\((r_s,g_s,b_s,\alpha _s)\),底层颜色用RGB表示是\((r_d, g_d, b_d, \alpha_d)\),则\[S=(r_s \cdot…
1.GCD(Grand Centrol Dispath) 并行:宏观以及微观都是两个人再拿着两把铁锹在挖坑,一小时挖两个大坑 并发:宏观上是感觉他们都在挖坑,微观是他们是在使用一把铁锹挖坑,一小时后他们挖了两个小坑. 总结:就单个cpu来说,大部分进程是并发进行的,就是一把铁锹,你一下我一下,只是间隔时间较短,用户感觉不到而已. 应用: GCD包括: (1)实际使用中( 而系统默认就有一个串行队列main_queue和并行队列global_queue: [cpp] view plaincopy…
引用了yo框架中的_border.scss(用来获取yo框架封装的border)   以及   variables.scss(用来获取媒体查询的规则) border($border-width = 1px, $border-color = #ccc, $border-style = solid, $radius = 0) // 为边框位置提供定位参考 position: relative; if $border-width == null $border-width: 0; border-rad…
1.添加删划线方法遇到的问题 -(void)lastLabelDeal:(NSString *)str1 string:(NSString *)str2 label:(UILabel *)label{ NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:[NSString stringWithFormat:@"%@  %@",str1,str2]]; [str addAtt…
iOS 绘制1像素的线 一.Point Vs Pixel iOS中当我们使用Quartz,UIKit,CoreAnimation等框架时,所有的坐标系统采用Point来衡量.系统在实际渲染到设置时会帮助我们处理Point到Pixel的转换. 这样做的好处隔离变化,即我们在布局的事后不需要关注当前设备是否为Retina,直接按照一套坐标系统来布局即可. 实际使用中我们需要牢记下面这一点: One point does not necessarily correspond to one physic…
更新时间2014年11月13日  本博文创建时,只有Xcode6.0, Xcode6.0尝试多次,确实如此 之后在6.1版本经博主少量尝试,确实也有如下问题,现更新下博客! iOS8发布之后,苹果强制要求#iPhone6适配#,于是就不得不升级Xcode6.0了,但是发现上传过程遇到了许多不必要的困难,而且丝毫无技术含量,完全是大bug,详情见下:   本文永久地址为 http://www.cnblogs.com/ChenYilong/p/3989010.html,转载请注明出处.  用Xcod…
转自: http://blog.csdn.net/chonbj/article/details/25133247 像我一样记不住iOS应用图标像素尺寸的开发者不在少数,我经常需要查询不同设备上的应用尺寸,为了方便自己.方便大家,我制作了下面的图表供大家参考. iPhone.iPodTouch以及一般通用的应用图标像素尺寸是多少? iPhone和iPodTouch应用需要一般应用所有的图标像素,你可能会想知道为什么iPhone应用需要iPad应用图标,因为一款iPhone应用也可以在iPad上运行…
原文:View Programming Guide for iOS View and Window Architecture Views and windows present your application’s user interface and handle the interactions with that interface. UIKit and other system frameworks provide a number of views that you can use a…
版权声明:本文由朱煌原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/160 来源:腾云阁 https://www.qcloud.com/community TPatch是一套使用JavaScript给iOS打热补丁的系统,能非常有效的解决线上App的Crash和各种问题. 1.从何而来? 对于每一个开发,从写Hello World开始,到使用各种语言,可能都会遇到各种BUG.有的BUG能快速解决,比如Web侧的,发个JS…
学习笔记:APP切图那点事儿–详细介绍android和ios平台 转载自:http://www.woofeng.cn/articles/168.html   版权归原作者所有 作者:亚茹有李 原文地址:http://blog.boocss.com/app-android-ios/ 一.android版 在做android版本设计的时候,尺寸有很多种,这时我们要以一种尺寸为基准,那这个基准尺寸是480px*800px,设计图完成之后就开始切图了 需要注意的: A:android主要有3种屏,即:…
非官方的iOS设计指南 有时候为iOS设计app并不是一件简单的事,但是如果你能找到正确的最新的苹果设备信息,并按照正确的方向,那么为iOS设计app或许会变得简单容易些. 关于这些指南 这些指南描述了如何遵守苹果的iOS 人机交互指南来设计app,而不是讲用自定义控件可以做成什么样的设计,有时候打破规则也很重要.该文档的目的并不是为一些复杂的设计问题提供解决方案.该文档是非官方的,将会定期更新和扩充内容,最近一次更新是2014年11月11日. 分辨率和显示屏规格(Resolutions和Dis…
iOS面向编码|iOSVideoToolbox:读写解码回调函数CVImageBufferRef的YUV图像 本文档基于H.264的解码,介绍读写Video Toolbox解码回调函数参数CVImageBufferRef中的YUV或RGB数据的方法,并给出CVImageBufferRef生成灰度图代码.方便调试.同时,还介绍了Video Toolbox解码回调中进行YUV处理时容易忽略的问题.文档定位于iOS音视频高级编程,致力于提供高参考价值的Core Video中文资料,最近也在StackO…
. 问题表现:什么情况?方法居然无法拉线? 问题简述:ios的空间拉线到一个.h .m文件中 居然多次拖动无效.. 问题解决:ios的空间响应单单在代码中创建一个方法是没用的,这个时候通常跟空间是没有响应关系的(代码创建控件的方式另外说),所以这个时候我们需要按住control键拖动一条线与对应的方法产生响应 在布局文件的View Controller中 有一个Custom Class的属性,这个就是用来与我们的.h .m文件建立连接的,如果未建立连接则拖线是拖不进去的 . 问题表现:咦,一点击…