IOS 入门开发学习
xwren362922604
想学习
展开
-
ios 图片拖拽,捏,双击放大缩小,以及保存到相册
图片拖拽,放大缩小原来是可以不用自己写算法的,直接用UIscrollView即可实现。保存相册就比较简单了。比较麻烦的地方:捏,双击等动作形成的放大、缩小效果需要准确定位。h文件://// DetailPopStarView.h// Gukw//#import #import "AsyncImageView.h"@interface Deta转载 2012-09-26 18:49:40 · 674 阅读 · 0 评论 -
在运行时修改视图
应用程序在接收用户输入时,需要通过调整自己的用户界面来进行响应。应用程序可能重新排列界面上的视图、刷新屏幕上模型数据已被改变的视图、或者装载一组全新的视图。在决定使用哪种技术时,要考虑您的用户界面,以及您希望实现什么。但是,如何初始化这些技术对于所有应用程序都是一样的。本章的下面部分将描述这些技术,以及如何通过这些技术在运行时更新您的用户界面。请注意:如果您需要了解UIKit如何在框架翻译 2012-09-26 23:13:27 · 1024 阅读 · 0 评论 -
IOS开发之----Category的使用
无论一个类设计的如何完美,都不可避免的会遇到没有预测到的需求,那怎么扩展现有的类呢?当然,继承是个不错的选择。但是Objective-C提供了一种特别的方式来扩展类,叫Category,可以动态的为已经存在的类添加新的行为。这样可以保证类的原原来的基础上,较小的改动就可以增加需要的功能。使用Category对类进行扩展时,不需要访问其源代码,也不需要创建子类,这样我们可以扩展系统提供的类。Cate转载 2012-09-28 10:33:47 · 3336 阅读 · 0 评论 -
万能的iPhone等待画面 UIActivityIndicatorView
为了改善程序的用户友好性,当你的iPhone 程序需要执行稍稍花点时间的处理的时候,我想显示一个标准的iPhone 等待画面是最合适的。那这里咱们使用iPhone SDK中提供标准的控件UIActivityIndicatorView ,来简单的实现Mac中经典的旋转轮等待画面。首先介绍一下UIActivityIndicatorView ,UIActivityIndicatorView 其实转载 2012-09-27 13:53:48 · 680 阅读 · 0 评论 -
如何在iOS中使用Block──How to use Blocks with iOS
Block可以帮助我们组织独立的代码段,并提高复用性和可读性。iOS4在UIKit中引入了该特征。超过100个的Apple API都使用了Block,所以这是一个我们必须开始熟悉的知识。Block是什么样的? 你可以使用^操作符来声明一个Block变量,它表示一个Block的开始。int num1 = 7; int(^aBlock)(int) = ^)int num2) {转载 2012-09-28 10:44:21 · 634 阅读 · 0 评论 -
ipad横竖屏切换解决方案
由于ipad的横竖屏不同,所以好的应用,横竖屏的页面布局也不一样。那么就需要横竖屏的整体解决方案。先看一个横竖屏布局不一样的界面。横竖版显示的内容相同,但是界面布局不同。要实现上述布局,主要是运用UIView中layoutSubviews方法。当UIView设置为自动适配屏幕时,当用户旋转设备的时候,会调用layoutSubviews方法,我们只需重写这个方法,然后判断用户屏幕的方转载 2012-09-13 12:45:44 · 1332 阅读 · 0 评论 -
【ios】 iphone开发之横屏与竖屏在不同视图之间的切换
有两个视图,横屏视图和纵屏视图,当iphone的方位变化的时候,这两个视图相互切换。1。两个视图:PortraitView和LandscapeView ,分别标示纵屏和横屏。2。一个控制器,RootViewController,根控制器。3。在RootViewController.m中有以下代码-(void)willAnimateRotationTo转载 2012-09-12 15:44:16 · 681 阅读 · 0 评论 -
【ios】UIScrollView 原理
scroll view 原理//作者:禚来强 iphone开发q*****:79190809 邮箱:zhuolaiqiang@gmail.com转帖请保留demo 可以到我的博客http://blog.csdn.net/diyagoanyhacker/article/list/10在滚动过程当中,其实是在修改原点坐标当手指触摸后, scroll view会暂时拦截触摸事件,使用转载 2012-09-12 15:46:36 · 396 阅读 · 0 评论 -
【ios】UIToolBar使用示例
可以在toolBar上添加任何View。其实它的原理是把你要添加的View先加到UIBarButtonItem里面,最后再把UIBarButtonItem数组一次性放到toolbar的items里面。1.首先,我们看一下UIBbarButtonItem有哪些初始化方法,这也可以看出,它可以被定义为什么东东,然后加到UIToolBar上面去。根据SDK的文档,我们可以发现UIBarB转载 2012-09-12 15:40:59 · 689 阅读 · 0 评论 -
什么是窗口和视图?
UIWindow的作用和Mac OS X的应用程序有所不同,iPhone应用程序通常只有一个窗口,表示为一个UIWindow类的实例。您的应用程序在启动时创建这个窗口(或者从nib文件进行装载),并往窗口中加入一或多个视图,然后将它显示出来。窗口显示出来之后,您很少需要再次引用它。在iPhone OS中,窗口对象并没有像关闭框或标题栏这样的视觉装饰,用户不能直接对其进行关闭或其它操作。所有翻译 2012-09-14 00:06:52 · 1942 阅读 · 0 评论 -
保持iOS设备屏幕常亮的方法
因为自己的应用程序运行的时候需要保持屏幕常亮,可以加入以下语句:(1)如果是在Xcode中做开发:[ [ UIApplication sharedApplication] setIdleTimerDisabled:YES ] ;设置为YES保持屏幕常亮.(2)iOS5中,可以调节亮度了,我没有试过,大家试试看翻译 2012-09-14 14:48:33 · 10630 阅读 · 0 评论 -
视图架构和几何属性
由于视图是iPhone应用程序的焦点对象,所以对视图与系统其它部分的交互机制有所了解是很重要的。UIKit中的标准视图类为应用程序免费提供相当数量的行为,还提供了一些定义良好的集成点,您可以通过这些集成点来对标准行为进行定制,完成应用程序需要做的工作。本文的下面部分将解释视图的标准行为,并说明哪些地方可以集成您的定制代码。如果需要特定类的集成点信息,请参见该类的参考文档。您可以从UIKit框架翻译 2012-09-15 23:10:15 · 438 阅读 · 0 评论 -
视图坐标系统
UIKit中的坐标是基于这样的坐标系统:以左上角为坐标的原点,原点向下和向右为坐标轴正向。坐标值由浮点数来表示,内容的布局和定位因此具有更高的精度,还可以支持与分辨率无关的特性。图2-3显示了这个相对于屏幕的坐标系统,这个坐标系统同时也用于UIWindow和UIView类。视图坐标系统的方向和Quartz及Mac OS X使用的缺省方向不同,选择这个特殊的方向是为了使布局用户界面上的控件及内容翻译 2012-09-16 10:00:50 · 413 阅读 · 0 评论 -
UIPickerView在UIPopoverController中正确显示方法
开发iPad应用程序与iPhone有一点小差别,就是iPad支持弹出框。这个示例展示如何在UIPopoverController上显示一个UIPickerView,当然你可以显示任何的UIView到UIPopover上面。原理就是构建一个UIViewController,然后将这个UIViewController加在UIPopoverController上,最近显示UIPopoverControl转载 2012-09-17 16:47:20 · 929 阅读 · 0 评论 -
判断ios app 第一次启动
首次运行的应用程序加入一些help 或者 宣传动画 现在变的很重要了。 一个有用的例子是发送一个分析实例。这可能是一个很好的方法来确定有多少人下载实用应用程序。有人会说:“但是,嘿,苹果AppStore已经告诉我,应用程序的下载量了”。 流行的解决方案是在大多数地方是用[NSUserDefaults standardUserDefaults的一个关键,如果它不存在,这意味着这是应用程序转载 2012-09-17 13:08:51 · 335 阅读 · 0 评论 -
Xcode 自动提示前面小图标含义
Xcode 按ESC键弹出的代码提示中前面标记的字母对应的意思:C:类K: 枚举 、常量M:成员方法V:成员变量T:typedef类型G: 全局变量f: 函数#: #define指令原创 2012-10-09 10:57:23 · 1633 阅读 · 0 评论 -
读取NSBundle下自己新建的文件夹下面的所有文件
NSArray *array = [[NSBundle mainBundle] pathsForResourcesOfType:@"jpg" inDirectory:@"image"];NSLog(@"array:%@",array);首先需要在mac上新建一个文件夹叫image, 放一些图片进去,然后把整个文件夹拖到项目中,在弹出的对话框中选择:Create fold转载 2012-10-08 19:04:55 · 2336 阅读 · 0 评论 -
触摸事件
iPhone OS中的触摸事件基于多点触摸模型。用户不是通过鼠标和键盘,而是通过触摸设备的屏幕来操作对象、输入数据、以及指示自己的意图。iPhone OS将一个或多个和屏幕接触的手指识别为多点触摸序列的一部分,该序列从第一个手指碰到屏幕开始,直到最后一个手指离开屏幕结束。iPhone OS通过一个多点触摸序列来跟踪与屏幕接触的手指,记录每个手指的触摸特征,包括手指在屏幕上的位置和发生触摸的时间翻译 2012-09-18 23:53:17 · 670 阅读 · 0 评论 -
图形API
这个讲的好,清晰明确:http://www.cocoachina.com/bbs/read.php?tid=77731&page=11-Quartz2D,的绘图总是发生在图形环境(Graphics Context)中。视图会在调用drawRect:方法进行绘图之前,创建好图形环境, 通过UIGraphicsGetCurrentContext函数来获得这个图形环境。 如果直接转载 2012-09-18 19:28:20 · 1282 阅读 · 0 评论 -
响应者对象和响应者链
响应者对象是可以响应事件并对其进行处理的对象。UIResponder是所有响应者对象的基类,它不仅为事件处理,而且也为常见的响应者行为定义编程接口。UIApplication、UIView、和所有从UIView派生出来的UIKit类(包括UIWindow)都直接或间接地继承自UIResponder类。第一响应者是应用程序中当前负责接收触摸事件的响应者对象(通常是一个UIView对象)。UIWi翻译 2012-09-18 23:51:13 · 804 阅读 · 0 评论 -
Xcode4.3 开发第一个IOS应用实例
关于如何创建第一个 iOS 应用本篇“第一个 iOS 应用”教程将向你介绍 iOS 应用开发中的“三个T”:Tools(工具)如何利用 Xcode 创建和管理工程。Technologies(技术)如何创建能够响应用户输入的应用。Techniques(技巧)如何充分利用 iOS 应用开发的基础设计模式。当你完成本教程的所有步骤之后,你的应用看起来会和下边图转载 2012-09-19 15:25:59 · 760 阅读 · 0 评论 -
objective-c与java的几点不同 (转)
a. java通过Class来标识类,而Objective-C通过@interface/@implementation来标识类;b. java通过static来区分是否是静态方法,而Objective-C通过+/-来区分;c. java类的方法定义在类的大括弧中,而Objective-C在大括弧外;e.java对属性和方法有public、private、protected等访问限制转载 2012-09-19 23:49:42 · 499 阅读 · 0 评论 -
Xcode4 的错误调试定位技巧
经常有朋友会问Crash的问题。Crash最多的无非就两种,一种就是signal SIGABRT,大概的意思就是发送Message出现问题,信号迷失了。这种的Crash其实是很好定位,Crash了后直接看Console里出的最后日志,比如这段:2012-03-28 19:26:33.055 TableViewMenuDemo[3916:f803] *** Terminating a转载 2012-09-20 08:39:54 · 403 阅读 · 0 评论 -
协议和范畴类
协议:协议可以用来声明能够在任何类中实现的方法,甚至那些实现该方法的类继承自别的类。协议方法定义的行为是独立于任何一个类的。协议可以定义一个要求其他类必须承诺实现的接口。也就是说,如果你的类实现了协议中的方法,那么这个类就承诺要完成该协议。从实用的角度说来,协议定义了一系列方法,并建立起对象之间的“合约”。而这些对象不必是任何一个确定的类的实例。这个合约使得对象之间可以进行交流。某转载 2012-09-19 15:29:53 · 317 阅读 · 0 评论 -
认识NSBundle
引入bundle是一个目录,其中包含了程序会使用到的资源. 这些资源包含了如图像,声音,编译好的代码,nib文件(用户也会把bundle称为plug-in). 对应bundle,cocoa提供了类NSBundle. 我们的程序是一个bundle. 在Finder中,一个应用程序看上去和其他文件没有什么区别. 但是实际上它是一个包含了nib文件,编译代码,以及转载 2012-09-19 15:31:30 · 388 阅读 · 0 评论 -
iOS开发:UIPickerView控件
.这次要用UIPickerView控件做出这样的效果:它有两个转盘(Component),当左边的转盘改变了选择值,右边转盘所有的选项都改变。如下图所示: 为了达到这样的效果,还是先要创建两个NSArray对象,每个转盘对应一个。然后创建一个NSDictionary对象。我们可以想象出数据是树形的,NSDictionary可以看成是一个有两列的表格,第一列存储的是关键转载 2012-09-17 17:03:23 · 510 阅读 · 0 评论 -
viewDidUnload 和 dealloc 的区别
对于iphone开发人员来说,内存管理是极为重要的技巧,哪怕程序的功能再强大,设计再漂亮,如果内存控制不好,也难逃程序莫名退出的噩运,这与网页开发是完全不同的。内存控制里面有很多门道,在这里分析一下 viewDidUnload 和 dealloc 的区别,关于这两者的区别的文章很多,但是大都是摘抄和翻译官方文档,有的也只是简单的说两句,并没有详细说出两者具体的区别。在了解两者之间的转载 2012-09-19 15:40:22 · 316 阅读 · 0 评论 -
NSUnknownKeyException的原因
在写测试程序时,出现下面这个exception,2011-11-02 15:33:37.569 TestAudioPlayer[254:707] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[ setValue:forUndefinedKey:]: this clas转载 2012-09-19 19:25:18 · 998 阅读 · 0 评论 -
contentSize、contentInset和contentOffset区别
contentSize是scrollview可以滚动的区域,比如frame = (0 ,0 ,320 ,480) contentSize = (320 ,960),代表你的scrollview可以上下滚动,滚动区域为frame大小的两倍。contentOffset是scrollview当前显示区域顶点相对于frame顶点的偏移量,比如上个例子你拉到最下面,contentoffset就是(0 ,转载 2012-09-19 23:18:25 · 320 阅读 · 0 评论 -
iphone——Thread,RunLoop初识
每个程序至少运行于一个thread中(称为main thread),你可以认为每个thread是一个独立的处理器,每个都并行的运行着。Thread是用来为在同一个进程中并行的执行多处代码。如果你的应用程序只有一个thread,则这个thread需要完成这个应用的所有事情。它必需对事件进行响应,更新应用程序窗口以及完成应用结果的所有运算。这样的话问题就来了,只有一个thread且它同一时间只转载 2012-09-19 23:19:03 · 388 阅读 · 0 评论 -
慎用ViewController的跳转 (转)
慎用ViewCtrl的跳转!搞iphone开发的,应该都知道MVC,顶半边天的UIViewCtrl,区分好Modle、View、Controller各自的作用。这里要提醒的是,勿滥用UIViewCtrl的跳转。从一个Controller跳转到另一个Controller时,一般有以下2种:1、利用UINavigationController,调用pushViewControlle转载 2012-09-19 23:53:58 · 356 阅读 · 0 评论 -
提取ipa里面的资源图片
1、将ipa文件后缀改为zip,然后解压缩。2、新建一个文件夹,将解压后的包里的png文件拷贝到新建文件夹里。3、下载ipin.zip文件并解压到第二步新建的文件夹里。4、命令行切换路径到第二步创建的文件夹并执行python ipin.py。 附件: ipin.zip (3 K)一点点邪恶。。。转载 2012-09-20 09:23:29 · 486 阅读 · 0 评论 -
ios scrollview 滚动后 的 subviews 比自己正常添加的 多了2个
今天在使用scrollview的时候用打印语句打印scrollview的子view的个数,NSLog(@"%d",pageScroll.subviews.count);之前往scrollview里添加了3个imageview,打印出来的结果是3没错.但是后来发现只要一滚动scrollview,打印的结果就变成5.一直在网上搜索结果没发现别人出现类似的结果,只好自己慢慢摸索。原创 2012-10-10 13:37:30 · 1707 阅读 · 1 评论 -
<转>如何理解 File's Owner 与 First Responder
*** xib 文件是什么的缩写? 作用是什么? ***.xib 文件存储 Interface Builder 布局。NIB 和 XIB 都是 Interface Builder 的图形界面设计文档。引用《Cocoa Programming for Mac OSX》一书的说法,Interface Builder 把窗口、菜单栏以及窗口上的各种控件的对象都“冻结”在了一个 N转载 2012-09-20 22:05:43 · 1247 阅读 · 0 评论 -
xcode快捷键大全
这是一篇CocoaChina的一个网友整理的Xcode快捷键大全,实在是太多了,我看得眼花缭乱的,不过还是非常实用,想学习就往下看吧!可能有些新手刚用mac,不知与windows键对应,现在说明一下,command相当于ms键盘的win键,option相当于alt,键值一样,系统偏好设置里面可以更改。xcode快捷键大全===============xcode相关=============转载 2012-09-20 22:35:06 · 659 阅读 · 0 评论 -
浅谈关于nil和 null区别及相关问题(转)
1、nil和null从字面意思来理解比较简单,nil是一个对象,而NULL是一个值,我的理解为nil是将对象设置为空,而null是将基本类型设置为空的,个人感觉有点像属性当中,基本类型分配为assign NSString类型一般分配copy,而对象一般用retain。而且我们对于nil调用方法,不会产生crash或者抛出异常。看一段nil -> Null-pointer to转载 2012-09-20 23:15:05 · 336 阅读 · 0 评论 -
iphone UIScrollView详解(转)
scroll view 原理在滚动过程当中,其实是在修改原点坐标。当手指触摸后, scroll view会暂时拦截触摸事件,使用一个计时器。假如在计时器到点后没有发生手指移动事件,那么scroll view发送tracking events 到被点击的subview。假如在计时器到点前发生了移动事件,那么scroll view 取消tracking自己发转载 2012-09-20 23:30:47 · 382 阅读 · 0 评论 -
delegate参数解析(转)
在Cocoa里面很多对象的初始化都有一个delegate参数,例如初始化一个ActionSheet[[UIActionSheet alloc]initWithTitle:@"标题"delegate:selfcancelButtonTitle:@"取消按钮"destructiveButtonTitle:@"结束按钮"otherButtonTitles:nil];这里就有一转载 2012-09-20 23:33:07 · 501 阅读 · 0 评论 -
如何在 XCode 4.2 設定部分程式碼不使用 ARC 方式分享(转)
相信很多人已經開始在使用 XCode 4.2 與 iOS5 的功能了吧!其中我最喜歡的功能之一就是 ARC (Automatic Reference Counting)。簡單的來說,ARC 就是可以讓你以後不用再擔心那邊要 release,哪裡又得 retain 了 ;而由編譯器在編譯的時候自動幫你偷偷加上去,所以你的程式碼裡面也不可以有 release,retain等。這個功能可以說是讓人又愛又转载 2012-09-20 23:35:24 · 392 阅读 · 0 评论 -
iphone 使用委托(delegate)在不同的窗口之间传递数据
在IOS里两个UIView窗口之间传递参数方法有很多,比如 1.使用SharedApplication,定义一个变量来传递.2.使用文件,或者NSUserdefault来传递3.通过一个单例的class来传递 4.通过Delegate来传递。 前面3种方法,暂且不说,这次主要学习如何使用通过Delegate的方法来在不同的UIView里传递数据 。比如: 在转载 2012-09-20 23:37:19 · 339 阅读 · 0 评论