- 浏览: 243990 次
- 性别:
- 来自: 天津
文章分类
最新评论
-
yulanlian:
...
实现在删除数据后,自增列的值连续 -
RonQi:
楼主写的很好,支持原创!
Google Protocol Buffers
ios开发基础问题总结
- 博客分类:
- ios开发
1,如何进入应用后首先展示图片,然后程序继续运行 只需要将所需要的图片引入工程,并重命名为Default.png(注意大小写)。另外,在模拟器中调试时Default.png可以放在任意文件夹下,但是据说真机上运行时Default.png必须位于根目录下(这个没有验证过)。 2,如何发送HTTP请求 iPhone OS内置有CFNetWorik框架可以使用。但是这里推荐使用ASIHttpRequest框架,官网上面有详细的说明和使用教程。 3,如何使用JSON数据 这个没得说,当然是json-framework,苹果官方都是使用它来解析JSON的。 4,如何点击屏幕空白位置时,隐藏键盘 建立一个全屏幕的button,将类型设置为Custom,这样它就没有边框了,然后将该按钮拖到相应图层位置让它不至于遮住其他元素,最后将它关联到相应的target-action就OK了。如下图所示: 5,如何在IB中使用UITableView中的自定义的Cell 自定义UITableViewCell的子类,这里详细介绍了实现方式。 6,如何根据字数控制UILabel的高度,以及如何定位Cell中的元素 7,如何异步加载图片等数据 大致思路为两步:(1) 加载tableView时读取图片缓存,如果存在则显示,如果不存在则异步下载;(2) 下载图片信息成功,更新图片缓存,重新加载tableView的数据 示例代码: 8,ASIHttpRequest的一个bug的修复
-
(
UITableViewCell
*
)
tableView
:
(
UITableView
*
)
tableView cellForRowAtIndexPath
:
(
NSIndexPath
*
)
indexPath
{
/
*
其他代码
*
/
/
/
UILable的宽度
CGFloat contentWidth
=
259.0
00
;
/
/
根据字体计算高度
UIFont
*
baseFone
=
[UIFont systemFontOfSize
:
13
];
/
/
获取UILabel将要显示的数据
NSString
*
content
=
[
data
objectForKey
:
@
"content"
];
/
/
1000
仅仅是个约数,只要保证
content
能显示完整就行
/
/
在IB中要把UILabel的换行类型设置为UILineBreakModeWordWrap
CGSize contentSize
=
[
content
sizeWithFont
:
baseFone constrainedToSize
:
CGSizeMake
(
contentWidth
,
10000
)
lineBreakMode
:
UILineBreakModeWordWrap];
/
/
IB中一定要将UILabel的Layout属性的Lines设置为
0
,以保证宽度自适应
CGRect frame
=
[cell.contentLabel textRectForBounds
:
cell.contentLabel.frame limitedToNumberOfLines
:
0
];
frame.size.height
=
size.height;
/
/
通过frame.origin.x 和 frame.origin.y来定位元素
frame.origin.y
=
otherHeight
+
cell.otherLabel.frame.size.height;
cell.contentLabel.frame
=
frame;
/
*
其他代码
*
/
}
-
(
CGFloat
)
tableView
:
(
UITableView
*
)
tableView heightForRowAtIndexPath
:
(
NSIndexPath
*
)
indexPath
{
/
*
其他代码
*
/
/
/
UILable的宽度
CGFloat contentWidth
=
259.0
00
;
/
/
根据字体计算高度
UIFont
*
baseFone
=
[UIFont systemFontOfSize
:
13
];
/
/
获取UILabel将要显示的数据
NSString
*
content
=
[
data
objectForKey
:
@
"content"
];
/
/
1000
仅仅是个约数,只要保证
content
能显示完整就行
/
/
在IB中要把UILabel的换行类型设置为UILineBreakModeWordWrap
CGSize contentSize
=
[
content
sizeWithFont
:
baseFone constrainedToSize
:
CGSizeMake
(
contentWidth
,
10000
)
lineBreakMode
:
UILineBreakModeWordWrap];
/
*
下面就可以通过contentSize.height计算Cell的高度了
*
/
/
*
其他代码
*
/
}
-
(
UITableViewCell
*
)
tableView
:
(
UITableView
*
)
tableView cellForRowAtIndexPath
:
(
NSIndexPath
*
)
indexPath
{
/
*
其他代码
*
/
/
/
用户头像
UIImage
*
userPic
=
[self cachedImageForUrl
:
[NSURL URLWithString
:
url
]];
cell.userPicView.
image
=
userPic;
/
*
其他代码
*
/
}
-
(
UIImage
*
)
cachedImageForUrl
:
(
NSURL
*
)
url
{
id
cachedObject
=
[self.cachedImage objectForKey
:
url
];
if
(
cachedObject
=
=
nil
)
{
/
/
防止reloadData时重复提交请求,添加占位符
[self.cachedImage setObject
:
@
"Loading..."
forKey
:
url
];
/
/
异步下载图片
ASIHTTPRequest
*
picRequest
=
[ASIHTTPRequest requestWithURL
:
url
];
picRequest.delegate
=
self;
picRequest.didFinishSelector
=
@selector
(
didFinishRequestImage
:
)
;
picRequest.didFailSelector
=
@selector
(
didFailRequestImage
:
)
;
[self.queue addOperation
:
picRequest];
/
/
更新状态栏的网络标示
[UIApplication sharedApplication].networkActivityIndicatorVisible
=
YES;
}
else if
(
![cachedObject isKindOfClass
:
[UIImage
class
]]
)
{
cachedObject
=
nil;
}
return
cachedObject;
}
-
(
void
)
didFinishRequestImage
:
(
ASIHTTPRequest
*
)
request
{
NSData
*
imageData
=
[request responseData];
UIImage
*
image
=
[UIImage imageWithData
:
imageData];
if
(
image
!
=
nil
)
{
[self.cachedImage setObject
:
image
forKey
:
request.
url
];
[self.tableView reloadData];
}
[UIApplication sharedApplication].networkActivityIndicatorVisible
=
NO;
}
-
(
void
)
didFailRequestImage
:
(
ASIHTTPRequest
*
)
request
{
NSLog
(
@
"Error Download Image: %@"
,
request.
error
)
;
[UIApplication sharedApplication].networkActivityIndicatorVisible
=
NO;
}
请见我的一个提问和解决(6楼)
发表评论
-
ios 国际化相关
2011-10-08 18:49 1456添加国际化 1. 代码中使用字符串的地方 使用 NS ... -
iPhone开发笔记
2011-09-26 21:52 1104退回输入键盘: - (BOOL) textFie ... -
ios开发基础知识 - 1
2011-09-26 21:51 1128输出 command+shift+r NSLog(@& ... -
ios---超链接的UILabel教程
2011-09-26 21:50 1548超链接的UILabel教程 -
UILabel用法
2011-09-26 20:45 1826/设置换行 UILabel*label; / ... -
IPhone之UIScrollView [转载]
2011-09-22 15:55 920原文地址:IPhone之UIScrollView作者:飞 ... -
手势识别
2011-09-03 17:19 895注册: UISwipeGestureReco ... -
“碰撞”探测
2011-08-21 14:28 845首先要向大家说明的是,所谓“碰撞”探测没有大家想想 ... -
coco2d地图显示相关类
2011-08-21 07:55 1606摘自:知易教程 Cocos2d-iPhone 实现地图 ... -
Cocos2D 的事件处理机制
2011-08-21 07:21 1594摘自:知易教程 系统当前场景对象包含多个层 ... -
cocos2d游戏开发,常用工具集合
2011-08-20 19:40 833位图字体工具Bitmap Font ToolsBMFon ... -
iPhone OS 的 Touche 事件
2011-08-20 19:34 1349知易教程 基础知识 在开始介绍 iPhone OS ... -
iPad, iPhone, and Aspect Ratio
2011-08-05 11:58 955好,现在处理iphone上 ... -
Retina Display and Cocos2D
2011-08-05 11:57 1339最新版本的cocos2d完全 ... -
网络编程总结
2011-08-04 15:41 828一:确认网络环境3G/WIFI 1. 添加源文件和fra ... -
Cocos2D界面切换方式
2011-08-04 15:37 1638CCTransitionFade, //渐隐 ... -
Protocol协议的用法
2011-08-04 15:30 1259一、说明 两个类进行通讯,用协议就比较方便。 (书 ... -
IOS开源项目和官方例子汇总
2011-08-04 14:22 1850开源项目: 扫描wifi信息:http://code. ... -
cocos2d场景和UIViewController视图的切换
2011-08-04 14:20 1620cocos2d中从场景切换到UIViewController视 ... -
视差滚动
2011-08-02 21:09 1134我们已经有一个很酷的飞船在屏幕上了,但是,它看起来就好 ...
相关推荐
Objective-C 是 iOS 开发的基础,本篇文章主要对 Objective-C 的基础知识进行了总结,特别标注了重点内容,适合初学者快速入门并转向 iOS 平台开发。 首先,我们要理解面向对象编程的基本概念。在 Objective-C 中,...
这份"iOS开发总结"文档可能涵盖了从基础概念到高级技术的各种知识点,旨在帮助开发者提升技能和解决问题。 首先,iOS开发主要基于Apple的Swift编程语言,这是一种现代化、高性能的语言,具有安全性和易于读写的特点...
iOS开发前期准备是每个想要踏入iOS应用开发领域的程序员必须经历的阶段。这一阶段主要包括对iOS开发的基本情况了解、开发环境的搭建以及获取必要的软件开发者证书。 2.1 iOS开发基本情况介绍 iOS开发主要针对苹果...
在进行iOS开发之前,开发环境的搭建是开发者必须经历的初始步骤。本文将详细介绍如何搭建iOS开发环境,并提供一些简单的开发实例来帮助初学者快速入门。 ### iOS开发环境搭建 #### 注册Apple ID 为了下载开发所需...
这份"总结iOS开发代码实践总结iOS开发技巧共16页.pdf"的文档,显然是一份宝贵的资源,它涵盖了多个方面的知识点,旨在帮助开发者提升其iOS应用开发技能。以下是基于该文件标题和描述可能包含的一些关键知识点的详细...
在iOS开发中,多线程技术是一项重要的技能,能够显著提高应用的响应速度及处理能力。本文将深入探讨iOS支持的不同多线程编程范式,并重点介绍`NSThread`的基础使用方法。 #### iOS多线程编程范式 iOS支持多种多...
【iOS开发基础】 iOS开发是为苹果公司的移动设备,如iPhone、iPad和Apple Watch创建应用程序的过程。这一领域的基础知识涵盖操作系统、开发环境、编程语言等多个方面。 【macOS】 macOS是苹果公司为Macintosh系列...
iOS开发基础涵盖了许多关键知识点,包括面向对象编程的三大特性:多肽(多态)、继承和封装,以及网络通信、数据解析和用户界面设计。在iOS应用开发中,这些概念和技术构成了开发流程的基础。 首先,多态(多肽)...
本套视频教程全面覆盖了iOS开发的基础理论和技术实践,适合不同水平的学习者。通过系统学习,你将能够掌握iOS应用开发的核心技能,并具备独立完成项目的能力。希望这些知识点能够帮助你更好地理解和掌握iOS开发的...
### 2018 iOS面试题汇总解析 #### 一、设计模式的理解及常见类型 设计模式是指在软件开发过程...以上总结了2018年iOS面试题中涉及的一些核心知识点,希望能够帮助开发者更好地理解和掌握iOS开发中的重要概念和技术。
总结,"ios开发实例"涵盖的内容广泛,包括Swift语言基础、应用生命周期管理、UI设计与事件处理、网络编程、数据存储以及测试调试等多个方面。通过实践这些小项目,开发者可以加深对iOS开发的理解,提高自己的编程...
通过以上章节的介绍,《iOS5开发基础教程》为读者提供了一个全面而系统的iOS开发学习路径。无论你是完全的新手还是有一定经验的开发者,都可以从中获得宝贵的知识和实践经验。希望你能充分利用这本书的内容,开启你...
### iOS9应用开发基础教程知识点概览 #### 一、iOS9系统简介及新特性 - **Siri语音助手智能化**:iOS9中的Siri变得更加智能,能够理解上下文并根据用户的行为习惯提供更加个性化的服务。 - **新增News新闻聚合应用...
总结来说,iOS开发中的视图切换是构建用户界面的关键操作,理解并掌握多种视图切换方法对提升开发技能至关重要。通过实践"View Switcher"这样的示例,新手能够快速上手,并为后续更复杂的iOS应用开发打下基础。
本文将从标题、描述、标签和部分内容四个方面对 iOS 开发程序员应届生简历进行分析和总结。 一、标题:iOS 开发程序员应届生简历 标题表明了这个简历的主要内容,即 iOS 开发程序员应届生简历。这个标题简单、明确...
本教程主要围绕iOS开发的基础知识和技术要点展开,旨在帮助初学者快速掌握iOS应用开发的基本流程和核心概念。以下是从该文档标题、描述及部分内容中提炼出的关键知识点: 1. **iOS开发环境搭建** 2. **Unix/Linux...
- **结构安排**:本书分为六个主要部分,依次介绍了iOS开发的基础知识、核心概念和技术要点。 - **第一部分**:“Hello World!创建你的第一个iPhone App”,通过简单的“Hello World”应用介绍了iOS开发的基本流程...