关闭

2.键盘的显示/隐藏

应用中,跟用户交互功能必不可少! 关于键盘的显示/隐藏 中,就隐藏着许多的知识。那我们就来窥看一角。 我们常常抱怨这么几种情况: 1.键盘显示时,遮盖了原来的输入框或者不该遮盖的内容。如何让其他控件不被键盘遮盖? 2.键盘显示的动画与控件的位置移动不一致,导致动画不连贯。 3.相反的,键盘隐藏时,其他控件该如何移动到原来的位置? 等等。 功能:控件根据键盘的显示/隐藏进行重新...
阅读(249) 评论(0)

1.IOS TableView滑动显示多个按钮

**  *  tableView:editActionsForRowAtIndexPath:     // 设置滑动删除时显示多个按钮  *  UITableViewRowAction                        // 通过此类创建按钮  *  1. 我们在使用一些应用的时候,在滑动一些联系人的某一行的时候,会出现删除、置顶、更多等等的按钮,在iOS8之前,我们...
阅读(450) 评论(0)

17、Objective-C在ARC下结合GCD的单例模式和宏模版

单例模式在iOS开发过程中经常用到,苹果提供过objective c单例的比较官方的写法: [cpp] view plaincopy static MyGizmoClass *sharedGizmoManager = nil;       + (MyGizmoClass*)sharedManager   {       @synchron...
阅读(228) 评论(0)

16、使用Xcode和Instruments调试解决iOS内存泄露

虽然iOS 5.0版本之后加入了ARC机制,由于相互引用关系比较复杂时,内存泄露还是可能存在。所以了解原理很重要。 这里讲述在没有ARC的情况下,如何使用Instruments来查找程序中的内存泄露,以及NSZombieEnabled设置的使用。 本文假设你已经比较熟悉Obj-C的内存管理机制。 实验的开发环境:XCode 4.5.2 1、运行Demo。 先下载一个实现准...
阅读(146) 评论(0)

15、 老项目在Xcode6调试运行时报错的问题(App installation failed).

最近在使用Xcode6调试之前的老项目时(环境Xcode6.01,真机iphone5,iOS8.0,),每次运行工程,第一次总会报错,只能运行第二次,报错截图如下: 试着clean,也按照网上说的检查过项目内是否有Resoures文件夹,依然不能解决.后来发现Xcode6新建的工程项目没有出现的问题.怎么解决老工程项目的问题呢,毕竟每次都需要点运行2次才能调试挺闹心的. ...
阅读(237) 评论(0)

14、 iOS "The sandbox is not in sync with the Podfile.lock"解决方案

更新Cocoapod之后出现问题: [plain] view plaincopy diff: /../Podfile.lock: No such file or directory   diff: Manifest.lock: No such file or directory    error: The sandbox is not in ...
阅读(295) 评论(0)

13、Notification与多线程

前几天与同事讨论到Notification在多线程下的转发问题,所以就此整理一下。 先来看看官方的文档,是这样写的: In a multithreaded application, notifications are always delivered in the thread in which the notification was posted, which may not be...
阅读(260) 评论(0)

12、@synthesize of ‘weak’ property is only allowed in ARC or GC mode

现在的项目是手动内存管理,所以在引入第三方资源库时候,很多资源库更新以后都开始使用arc进行编码,这样就导致两种代码风格不一致,有的时候可能开发者也没有注意到这些问题,反正用的时候也没有报错,就直接使用了;但是有的时候,因为arc编码中用到了新的属性修饰符,例如weak,这时候在手动管理内存的代码中就不能编译通过,报错的内容就是:@synthesize of ‘weak’ property is ...
阅读(333) 评论(0)

11、缓存在AFNetworking中是如何工作的?AFImageCache和NSUrlCache给你答案

如果你是一名使用Mattt Thompson网络框架AFNetworking的iOS开发者(如果你不是,那还等什么呢?),也许你对这个框架中的缓存机制很好奇或者疑惑,并想学习如何在自己的app中充分利用这种机制。 AFNetworking实际上使用了两个独立的缓存机制: AFImagecache:一个提供图片内存缓存的类,继承自NSCache。NSURLCache:NSURLCon...
阅读(261) 评论(0)

10、@autoreleasepool-内存的分配与释放

开发过iOS、Mac的朋友应该对“@autoreleasepool”不陌生。只要在Xcode里创建一个工程,就能看到下面这样的代码: //iOS program int main(int argc, char * argv[]) {     @autoreleasepool {                 return UIApplicationMain(argc, argv, ...
阅读(205) 评论(0)

9、iOS并发编程笔记

线程 使用Instruments的CPU strategy view查看代码如何在多核CPU中执行。创建线程可以使用POSIX 线程API,或者NSThread(封装POSIX 线程API)。下面是并发4个线程在一百万个数字中找最小值和最大值的pthread例子: #import struct threadInfo { uint32_t * inputValues; si...
阅读(207) 评论(0)

8、CFRunLoopMode

简单的说run loop是事件驱动的一个大循环,如下代码所示 int main(int argc, char * argv[]) { //程序一直运行状态 while (AppIsRunning) { //睡眠状态,等待唤醒事件 id whoWakesMe = SleepForWakingUp(); //得到唤醒...
阅读(207) 评论(0)

7、Enum-枚举的正确使用

Enum,也就是枚举,从C语言开始就有了,C++、Java、Objective-C、Swift这些语言,当然都有对应的枚举类型,功能可能有多有少,但是最核心的还是一个—-规范的定义代码中的状态、选项等“常量”。 Item 5 - Use Enumerations for States, Options, and Status Codes 本节的内容就是如何正确的...
阅读(214) 评论(0)

6、NSNotificationCenter使用

一个NSNotificationCenter对象(通知中心)提供了在程序中广播消息的机制,它实质上就是一个通知分发表。这个分发表负责维护为各个通知注册的观察者,并在通知到达时,去查找相应的观察者,将通知转发给他们进行处理。 本文主要了整理了一下NSNotificationCenter的使用及需要注意的一些问题,并提出了一些未解决的问题,希望能在此得到解答。 获取通知中心 每个程序...
阅读(196) 评论(0)

1、UI基础

1、UI开发就是放置对象,而这些对象就是控件 控件、组件 2、开发非UI功能,使用框架 3、开发应用的第一根步骤 -> 界面上看需要什么东西 -> 打开Xcode,新建项目 shift + command + n 新建一个项目 4、OC中我们的类名一般有前缀 NSString NSArray 在其他的开发语言中为了避免名字的冲突,常常提...
阅读(193) 评论(0)
134条 共9页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:39342次
    • 积分:1006
    • 等级:
    • 排名:千里之外
    • 原创:50篇
    • 转载:84篇
    • 译文:0篇
    • 评论:1条