
ios
飞翔的熊blabla
开发了一些列工具,指数提升代码速度
http://www.520webtool.com
展开
-
在 SwiftUI 中创建复杂功能
本节介绍表盘的主题色,因为 Apple Watch 表盘提供了许多主题色,如全彩,橘红等等,所以在编写自己的复杂组件时,要注意复杂组件在主题色变化时的表现。这是系统提供的另外一种主题色处理方式,这种方式需要在构建视图时存在不同的视图层,这样在主题色变化时,系统会根据不同的层给予不同的颜色。该值可以从环境中取出,可以根据此值,实现在不同的模式下的不同表现。默认的字体会随着组件的大小的变化而变化,Text 组件还提供了不同的日期格式化方式,特别是提供了相对时间的格式化方式,如下图。新的 API 文本组件。转载 2024-10-16 17:29:10 · 112 阅读 · 0 评论 -
iPad开发-分屏、画中画(即多任务处理增强功能)
公司需要要开发iPad的App,说需要支持分屏、画中画播放视频等操作。 分屏:两个App可以同时展示在界面上,效果如下: image.png 分屏的条件 1.必须是在iPad上,系统版本>=iOS9。 2.必须使用LaunchScreen.storyboard来做启动图 3.iPad的打开“设置”>“常规”>“多任务”中的“滑动”和“拆分视图” 4.App必须支持四个方向。 各种iPad型号,方向和拆分视图配置..转载 2022-02-26 12:52:48 · 1333 阅读 · 0 评论 -
使用XCode6打开项目以后再用XCode5出现的问题fatal error: malformed or corrupted AST file: 'Unable to load module
使用不同版本的XCode出现的问题:fatal error: malformed or corrupted AST file: 'Unable to load module "/Users/xxx/Library/Developer/Xcode/DerivedData/ModuleCache/XYZYIE6ZV0OP/Darwin.pcm": file not found' note: a转载 2015-03-15 16:53:28 · 428 阅读 · 0 评论 -
开始iOS 7中自动布局教程(一)
原文:Beginning Auto Layout Tutorial in iOS 7: Part 1感谢翻译小组成员@answer-huang(博客)热心翻译。如果您有不错的原创或译文,欢迎提交给我们,更欢迎其他朋友加入我们的翻译小组(联系qq:2408167315)。=======================================================转载 2015-03-25 09:30:41 · 513 阅读 · 0 评论 -
如何用纯代码构建一个 Widget(2014)
前言随着iOS8的发布 各种iPhone的新玩法出现了 其中最引人关注的就是 today extension (也叫做widget) 这个在android上存在了多年的小玩意 也是iPhone一直被人诟病的东西 终于能用上了网上有很多相关的文章教你如何编写一个简单的widget 但是却没有一篇适合我们这种纯代码的拥趸(也有很多人说应该放弃纯代码 改用Storyboard了) 那么接下来转载 2015-03-15 16:58:19 · 481 阅读 · 0 评论 -
开始iOS 7中自动布局教程(二)
Note from Ray: Tutorial Team member Matthijs Hollemans (the iOS Apprentice Series author) has ported this tutorial to iOS 7 as part of the iOS 7 feast. We hope you enjoy!In part 1 of this Auto转载 2015-03-25 11:47:57 · 609 阅读 · 0 评论 -
iOS 加载图片选择imageNamed 方法还是 imageWithContentsOfFile?
Apple官方的文档为生成一个UIImage对象提供了两种方法:1. imageNamed,其参数为图片的名字;2. imageWithContentsOfFile,其参数也是图片文件的路径。那么两种有什么区别吗?肯定是有的。根据Apple的官方文档:imageNamed: 这个方法用一个指定的名字在系统缓存中查找并返回一个图片对象如果它存在的话。如果缓存中转载 2015-03-15 16:57:09 · 435 阅读 · 0 评论 -
Storyboard里面的几种Segue区别及视图的切换:push,modal,popover,replace和custom 2012
一、视图切换类型介绍在storyboard中,segue有几种不同的类型,在iphone和ipad的开发中,segue的类型是不同的。在iphone中,segue有:push,modal,和custom三种不同的类型,这些类型的区别在与新页面出现的方式。而在ipad中,有push,modal,popover,replace和custom五种不同的类型。modal 模态转换转载 2015-03-26 10:23:06 · 461 阅读 · 0 评论 -
AutoLayout代码
随着iPhone设备出现了不同的尺寸,iOS6.0以后storyboard和xib文件新增了一个Use Auto Layout选项,用来实现自动布局。当你勾选上这个选项,以前传统的布局方式将不能正常工作。一旦使用了自动布局,就要忘记 Frame 的概念!要判断UIView是否可以使用自动布局,可以使用如下方法:if ([self.view respondsToSelector:转载 2015-03-26 14:25:46 · 409 阅读 · 0 评论 -
ios-AutoLayout(自动布局代码控制)简单总结
原理:IOS6.0 之后,苹果优化了UI界面的布局方式,提出了自动布局的概念,和之前的autoresizing相比功能更强大。子视图基于父视图的自动布局显示。都是父视图去添加对子视图的约束。在这里主要说的是通过代码对自动布局视图的实现。代码中一般用到的有两个添加约束的方式:1.- (void)addConstraint:(NSLayoutConstraint *)con转载 2015-03-26 14:27:45 · 414 阅读 · 0 评论 -
COREANIMATION中如何自定义动画属性
CoreAnimation可以对UIView里的CALayer进行动画处理。它的原理很简单,用户提供一个初始值,终点值和动画持续时间,CoreAnimation自动对 初始值,终点值之间,按照动画持续时间进行插值(生成中间值),生成中间帧,然后在一个单独的线程里进行播放,程序员就不再需要自己去绘制中间帧。CoreAnimation在对CALayer进行动画生成时,需要用户指定对CALaye转载 2015-03-16 22:27:40 · 368 阅读 · 0 评论 -
Blocks编程
介绍声明创建和调用Block和变量Block实际应用1.介绍Block是一个C Level的语法以及运行时的一个特性,非常像标准C中的函数(函数指针),但是其运行需要编译器和运行时支持,目前LLVM+Clang可以很好的支持Block(苹果修改过的GCC也可以)。Block和函数不同的是其语义 闭包 特性,以及可以有匿名block的存在。 你可以在LLVM的官方网站查看Bloc转载 2015-03-16 22:25:21 · 580 阅读 · 0 评论 -
CGAffineTransform相关函数
CoreGraphics.hCGAffineTransform rotation = CGAffineTransformMakeRotation(M_PI_2); [xxx setTransform:rotation]; 呵呵就这么简单的两行代码就可以实现了!顺便记录一些常量,以后用的着!#define M_E 2.7182818284590452353602874转载 2015-03-20 14:59:35 · 465 阅读 · 0 评论 -
UIView与CALayer的区别,很详细
研究Core Animation已经有段时间了,关于Core Animation,网上没什么好的介绍。苹果网站上有篇专门的总结性介绍,但是似乎原理性的东西不多,看得人云山雾罩,感觉,写那篇东西的人,其实是假设读的人了解界面动画技术的原理的。今天有点别的事情要使用Linux,忘掉了ssh的密码,没办法重新设ssh,结果怎么也想不起来怎么设ssh远程登陆了,没办法又到网上查了一遍,太浪费时间了,痛感忘转载 2015-03-20 15:48:16 · 372 阅读 · 0 评论 -
iOS开发UI篇—CAlayer层的属性
一、position和anchorPoint1.简单介绍CALayer有2个非常重要的属性:position和anchorPoint@property CGPoint position;用来设置CALayer在父层中的位置以父层的左上角为原点(0, 0) @property CGPoint anchorPoint;称为“定位点”、“锚转载 2015-03-20 15:49:23 · 293 阅读 · 0 评论 -
CAGradientLayer简介
CAGradientLayer可以方便的处理颜色渐变。Properties:@property(copy) NSArray *colors渐变颜色的数组[cpp] view plaincopy[NSArray arrayWithObjects:(id)[[[UIColor blackColor] col转载 2015-03-20 15:58:06 · 389 阅读 · 0 评论 -
CAShapeLayer和CAGradientLayer
两个动画效果来了解一下CALayer的两个重要的subClass:CAGradientLayer和CAShapeLayer。先看CAShapeLayer,我们做一个和Spark相机一样的圆形进度,每一段有一种颜色,标识不同时间段录的视频。“”阅读器CAShapeLayerCAGradientLayer转自KooFran转载 2015-03-20 16:05:48 · 376 阅读 · 0 评论 -
SubViews中如果根据tag获取到指点的 UIView – viewWithTag
通常我们在初始化页面后,在UIView 上动态的添加多个子 View 时,又没设置类成员变量,在相关的操作中又要使用到那些子视图的控件。这时我们就可以用 viewWithTag 这个方法来获取相关子视图的变量,以方便操作。类似例子:UIImageView *leftMsgBg = [[[UIImageViewalloc] initWithFrame:CGRectMake(0,转载 2015-03-20 16:42:14 · 2691 阅读 · 0 评论 -
UIButton中setTitleEdgeInsets和setImageEdgeInsets的使用
UIButton内有两个控件titleLabel和imageView,可以用来显示一个文本和图片,这里的图片区别于背景图片。给UIButton设置了title和image后,它们会图片在左边,文本在图片右边显示。它们两个做为一个整体依赖于button的contentHorizontalAlignment居左居右或居中显示。 1.当button.width转载 2015-03-20 16:36:37 · 371 阅读 · 0 评论 -
iOS8已出,@3x图让我们何去何从?幸好我们有神器!
iOS8已经正式发布,为了适配新的机型和iOS8,我们需要新的@3x图片。现在有两种方法第一种 http://www.cocoachina.com/ios/20140923/9727.html这是最早的一篇,限制条件有限制。很多美工只有PS6,我自己还没有搞出来。下面是第二种,我自己研究的方法我们写在试图的图片大小是229x42的,如下图所示转载 2015-03-17 15:20:31 · 631 阅读 · 0 评论 -
iOS中的协议与委托
协议就相当于是C++中的纯虚基类,它只能定义函数并且只能由其他类来实现。而委托则类似于Java接口,其实协议和委托之间并无必然联系,只是在Obj—C中常用协议来实现委托。 protocol-协议,就是使用了这个协议后就要按照这个协议来办事,协议要求实现的方法就一定要实现。 delegate-委托,顾名思义就是委托别人办事,就是当一件事情发生后,自己不处理转载 2015-03-17 11:25:02 · 331 阅读 · 0 评论 -
请教:APNS的device token每个设备每个app都唯一吗
麻烦问一下,推送通知的同一个设备上的所有支持apns的app的deviceToken都一样还是每个app的deviceToken都唯一。比如说,一个iphone上某一个app1的deviceToken是xxxxxx,那么另个app2的deviceToken和app1的一样还是不一样。 知道了,一个设备应该只有一个deviceToken,因为我用同一个设备,安装了两个使用push not转载 2015-03-28 09:44:48 · 2764 阅读 · 0 评论 -
IOS开发中@2x图片等适应不同分辨率手机
开发中,例如:nanshanImage.image=[UIImage imageNamed:@"index_pic.png"];在项目中还保存中index_pic@2x.png的图片,此图为了只适应960*640的分辨率手机注意:适应Iphone5的相关图片尺寸,也要加@2x.png。比如欢迎界面:Default-568h@2x.png;这个才能匹配上。而index转载 2015-03-17 15:21:26 · 550 阅读 · 0 评论 -
[ISUX转译]iOS 8人机界面指南(一):UI设计基础
糖箔糊2014.09.23文章索引1.1 为iOS而设计(Designing for iOS)1.1.1 以内容为核心(Defer to Content)1.1.2 保证清晰度(Provide Clarity)1.1.3 用深度来体现层次(Use Depth to Communicate)1.2 iOS应用解析(iOS App Ana转载 2015-03-17 16:52:13 · 756 阅读 · 0 评论 -
IOS 推送消息 php做推送服务端
IOS推送消息是许多IOS应用都具备的功能,最近也在研究这个功能,参考了很多资料终于搞定了,下面就把步骤拿出来分享下: iOS消息推送的工作机制可以简单的用下图来概括: Provider是指某个iPhone软件的Push服务器,APNS是Apple Push Notification Service的缩写,是苹果的服务器。转载 2015-03-28 10:28:34 · 415 阅读 · 0 评论 -
IOS 计时器 NSTimer
1、初始化+ (NSTimer *)timerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSelector userInfo:(id)userInfo repeats:(BOOL)yesOrNo;+ (NSTimer *)scheduledTimerWithTimeInterval:(N转载 2015-03-30 17:04:18 · 366 阅读 · 0 评论 -
ios8 使用storyboard 进行自动布局(一)
xcode 6使用storyboard 进行自动布局,迷惑的问题主要由:1,classsize 到底是一个什么东东?2,classSize 和 layout 有什么区别?3, 如何使用storyboard 进行自动布局4,什么是约束?5,常见的约束报错有哪些?6,在开发过程中(使用storyboard)应该注意哪些问题?这些问题我会在转载 2015-03-30 11:52:39 · 423 阅读 · 0 评论 -
关于userInteractionEnabled的属性的理解
userInteractionEnabledA Boolean value that determines whether user events are ignored and removed from the event queue.译:一个布尔值,它决定了是否用户触发的事件被该视图对象忽略和把该视图对象从事件响应队列中移除。@propert转载 2015-03-23 08:55:48 · 504 阅读 · 0 评论 -
IOS项目集成ShareSDK实现第三方登录、分享、关注等功能。
(1)官方下载ShareSDK iOS 2.8.8,地址:http://sharesdk.cn/(2)根据实际情况,引入相关的库,参考官方文档。(3)在项目的AppDelegate中一般情况下有三个操作,第一是注册ShareSDK,第二是注册各个平台的账号,第三是关于微信等应用的回调处理。// // AppDelegate.m转载 2015-03-23 11:52:16 · 437 阅读 · 0 评论 -
IOS中得block代码块的定义及使用
现在的无论是框架还是项目中,越来越多的使用block代码块。个人觉得:第一可以使代码看起来更简单明了,第二可以取代以前的delegate使代码的逻辑看起来更清晰。借一张图表达基本定义:(1)最基础的用法案例,可以把block理解为一段类似变量一样的可执行函数代码片段:void (^printBlock)(NSString *x);转载 2015-03-23 11:57:01 · 528 阅读 · 0 评论 -
设置 UILabel 和 UITextField 的 Padding 或 Insets (理解UIEdgeInsets)
iOS 的控件,只看到 UIButton 可以设置 Padding/Insets,即按钮上文字或图片与按钮边界的间隙,对与 CSS 来说叫做 Padding,在 iOS 中叫做 Insets,UIButton 设置 Insets 相应的属性如下:Configuring Edge Insets contentEdgeInsets property tit转载 2015-03-23 11:58:09 · 515 阅读 · 0 评论 -
ViewController生命周期详解
在我之前的学习笔记中讨论过ViewController,过了这么久,对它也有了新的认识和体会,ViewController是我们在开发过程中碰到最多的朋友,今天就来好好认识一下它。ViewController是IOS开发中MVC模式中的C,ViewController是view的controller,ViewController的职责主要包括管理内部各个view的加载显示和卸载,同时负责与其他Vi转载 2015-03-23 10:23:14 · 344 阅读 · 0 评论 -
Spark Camera's recording meter Deconstructing a minimal camera control that combines form and funct
BackgroundThere’s no denying that camera apps are in vogue. At the time of writing, a third of the apps in the Best New Apps section of the App Store were in the Photo & Video category and with go转载 2015-03-23 10:44:49 · 434 阅读 · 0 评论 -
使用通知机制,在dismissViewControllerAnimated后,completion传值给上一个父视图方法
dismissViewControllerAnimated后,completion传值给上一个父视图方法视图firstView和secendView,点击firstView上面的按钮presentviewcontroller出secendView;secendView上有个按钮,点击按钮dismissViewControllerAnimated,并将某个值传给firstView,或不直接在转载 2015-03-18 14:59:00 · 526 阅读 · 0 评论 -
为什么变量前要加下划线才有用?
Xcode的编译期自动补全造成的 在.m实现文件中,如果使用property,必须使用 self.property 的方式调用 getter 方法,而如果想要直接实例变量,必须在 m 文件中通过 synthesize 关键字同步过来 所以在早期的 xcode 中(我记得应该是4之前),在.m文件中,必须手写 @synthesize 属性名 = 实例变量名 的方式,将所有属性同转载 2015-03-18 15:22:22 · 1584 阅读 · 0 评论 -
IOS7.0 Xcode5 AutoLayout 备忘录
Xcode5 xib设置autolayout方式:列表1:(选择两个view时可设置)左边对齐, 右边对齐, 顶部对齐, 底部对齐, x轴中心对齐, y轴中心对齐, 文本底标线对齐, (单选择一个view时可设置)对于父view的x轴中心对齐, 对于父view的y轴中心对齐,转载 2015-03-24 17:37:32 · 429 阅读 · 0 评论 -
为iOS 6和iOS 7设计界面
尽管iOS7的覆盖率已经达到85%了,但是很多开发者仍需要支持iOS 6。很多开发者正在努力设计界面以使其同时适用于这两个操作系统。这篇博文将向你展示最佳的实践来实现这一目标。 问题这个问题最初在开发者针对iOS 7更新应用的时候发现,应用中的一切在iOS 6中看起来都很好,但是在iOS 7运行app时,子视图就被切断了。我的iOS书籍《iOS Programming: Th转载 2015-03-24 18:27:55 · 448 阅读 · 0 评论 -
android PorterDuffXfermode ,PorterDuff.Mode 使用 以及Porter-Duff规则详解
1.下面的Xfermode子类可以改变这种行为:AvoidXfermode 指定了一个颜色和容差,强制Paint避免在它上面绘图(或者只在它上面绘图)。PixelXorXfermode 当覆盖已有的颜色时,应用一个简单的像素XOR操作。PorterDuffXfermode 这是一个非常强大的转换模式,使用它,可以使用图像合成的16条Porter-Duff规则的任意一条转载 2015-03-24 14:50:02 · 364 阅读 · 0 评论 -
(翻译)开始iOS 7中自动布局教程(二)
这篇教程的前半部分被翻译出来很久了,我也是通过这个教程学会的IOS自动布局。但是后半部分(即本篇)一直未有翻译,正好最近跳坑翻译,就寻来这篇教程,进行翻译。前半部分已经转载至本博客,后半部分即本篇。学习IOS自动布局的朋友可以看看。自动布局很强大。转载请注明来源:http://www.cnblogs.com/zer0Black/p/3977288.html作者:zer0Black转载 2015-03-25 11:50:29 · 610 阅读 · 0 评论 -
动态加载XIB 高级应用
Objective-C具有相当多的动态特性,基本的,也是经常被提到和用到的有动态类型(Dynamic typing),动态绑定(Dynamic binding)和动态加载(Dynamic loading)。而我今天与大家分享的就是关于动态加载的一些用法,其他两个想必也是经常用到的,在这也就不多说了。所谓,动态加载,就是在程序运行当中,根据需要动态地加载一些视图,常常用在,游戏等多视转载 2015-04-01 15:32:33 · 417 阅读 · 0 评论