最近我在开发中遇到了一个问题,在使用NavigationController时内部的ViewController的View总是与屏幕顶部对齐,而我们有时候不需要这种效果: 在开发过程中,我们可能会需要这种布局: 需要加这句话,意思是让View的所有边都紧贴在容器内部. 即可   Ref: https://developer.apple.com/library/ios/documentation/WindowsViews/Conceptual/ViewControllerCatalog/Cha…
李洪强iOS开发之-实现点击单行View显示和隐藏Cell 实现的效果:  .... ....…
在iOS开发中有时需要自己自定义一个视图view的背景,而网上有人提出的在循环中不断alloc的方法设置其背景色渐变,会耗费很多内存和资源,极其不明智,而在CALayer中早就提供有图层渐变的类和相应的方法,有需要的可以仔细研究一下,这里给一个小示例,给各位参考一下. 这里的方法是, 1.建一个storyboard的工程: 2.使用storyboard拖一个View到控制器视图上,并设置外部接口用于调用: 3.进入到ViewControler.m中,敲入代码: #import "ViewCont…
在iOS开发中,我们会经常遇到一个问题,例如,点击一个按钮,弹出一个遮罩层,上面显示一个弹框,弹框显示的位置在按钮附近.如果这个按钮的位置相对于屏幕边缘的距离是固定的,那就容易了,可以直接写死位置.可是,如果按钮是在UITableView的cell上呢?随着UITableView的滚动,按钮可能在顶部,也可能在底部,还可能在中间,左侧.右侧都有可能,那么,这个时候,怎么去计算按钮所在的位置呢?如果按钮所在的UITabelView是在另外一个UIScrollView的一个cell上呢?如果外面再有…
Runtime运行时特性详解 本文详细整理了 Cocoa 的 Runtime 系统的知识,它使得 Objective-C 如虎添翼,具备了灵活的动态特性,使这门古老的语言焕发生机.主要内容如下: 引言 简介 与Runtime交互 Runtime术语 消息 动态方法解析 消息转发 健壮的实例变量(Non Fragile ivars) Objective-C Associated Objects Method Swizzling 总结 引言 曾经觉得Objc特别方便上手,面对着 Cocoa 中大量…
最近项目开发中遇到需要设置指定字体的需求,研究了一下字体设置,最后附有我写的一个小demo,先来看一下效果: 开始上网搜了一下,普遍说到以下方法 for(NSString *fontfamilyname in [UIFont familyNames]) { NSLog(@"family:'%@'",fontfamilyname); for(NSString *fontName in [UIFont fontNamesForFamilyName:fontfamilyname]) { NS…
/* To set item label text attributes use the appearance selectors available on the superclass, UIBarItem. */ //UI_APPEARANCE_SELECTOR当后面带有这个宏的时候一般都可以使用appearance来配置 //全局配置UITabBarItem的文字属性 [[UITabBarItem appearance] setTitleTextAttributes:@{NSForegro…
运行时常用 什么是Runtime(前面的文章已经说的很清楚了,这里就简单的介绍一下) 我们写的代码在程序运行过程中都会被转化成runtime的C代码执行,例如[target doSomething];会被转化成objc_msgSend(target, @selector(doSomething));. OC中一切都被设计成了对象,我们都知道一个类被初始化成一个实例,这个实例是一个对象.实际上一个类本质上也是一个对象,在runtime中用结构体表示. 相关的定义: /// 描述类中的一个方法 ty…
想在APP里面调节屏幕的亮度,这只是个小众需求.而且,虽然可以直接调节手机的亮度,但是它还是个需求,客户有需求,剩下的就是我们的事了,好了,吐槽到此结束. 刚拿到这个需求的人,或许想的是直接对view各种折腾,其实UIScreen里有一个Brightness属性,可以通过下面的方法直接调节: [[UIScreen mainScreen] setBrightness : (float)brightness];   需要注意的是:这里改变屏幕的亮度,不仅仅是改变APP内部的亮度,它是和手机系统的亮度…
可能是以前记错了,总认为在ios6上使用了UINavigationController或者TabBarController会因为多了bar而影响子controller的view的frame大小.今天在xcode5.1上验证,无论ios6或者7,使用容器controller,产生了的bar都不会对子controller的view的frame产生影响. 我们看看一个简单例子: 首先,可以看出,frame高度是568,没有收到bar的影响.其次Under top bars和under bottom b…