- 浏览: 70582 次
- 性别:
- 来自: 北京
最新评论
-
iwobz:
大哥,这真是你自己写的吗?我太崇拜你了
C++ Template Metaprogramming——一个小型lambda库的实作 -
hotsunshine:
穿梭于IE FF Chrome之间,哈哈
DIV的高度自适应及注意问题
文章列表
Javascript中this的取值
- 博客分类:
- Web
this是javascript中非常基础的一个知识点,也是一个令很多初学者迷惑的知识点。
Ecmascript中对其描述如下:
There is a this value associated with every active execution context. The this value depends on the caller and the type of code being executed and is determined when control enters the execution context. The this value associated wi ...
Views vs. Layers
- 博客分类:
- IOS
For many iOS developers, layers are a lower-level, complex version of the UIView. In reality, it’s the UIView which is a thin layer on top of CALayer. Unfortuntely, 95% of the iOS books and documentation out there talk almost exclusively about the UIKit and so it’s no surprise we get that impr ...
UIView and CALayer
- 博客分类:
- IOS
研究Core Animation已经有段时间了,关于Core Animation,网上没什么好的介绍。苹果网站上有篇专门的总结性介绍,但是似乎原理性的东西不多,看得人云山雾罩,感觉,写那篇东西的人,其实是假 设读的人了解界面动画技术的原理的。今天有点别的事情要使用Linux,忘掉了ssh的密码,没办法重新设ssh,结果怎么也想不起来怎么设ssh远程登 陆了,没办法又到网上查了一遍,太浪费时间了,痛感忘记记笔记是多么可怕的事情。鉴于Core Animation的内容实在是非常繁杂,应用的Obj-C语言本身的特性也很多,所以写个备忘录记录一下,懂的人看了后如果发现了错误,还不吝指教。1 ...
在iOS开发过程中,属性的定义往往与retain, assign, copy有关,我想大家都很熟悉了,在此我也不介绍,网上有很多相关文章。
现在我们看看iOS5中新的关键字strong, weak, unsafe_unretained. 可以与以前的关键字对应学习strong与retain类似,weak与unsafe_unretained功能差不多(有点区别,等下会介绍,这两个新 关键字与assign类似)。在iOS5中用这些新的关键字,就可以不用手动管理内存了,从java等其它语言转过来的程序员非常受用。
strong关键字与retain关似, ...
Blocks与Dispatch Queue的使用
- 博客分类:
- IOS
block是什么block是一个C level的语法以及运行时的一个特性,和标准C中的函数(函数指针)类似。用于回调函数的地方。两个对象间的通讯。实现轻量级的“代理”。blocks和C语言函数指针的区别
如何调用blocks调用block和C语言函数指针的调用一模一样
如何在 block 中修改外部变量?????考虑到 block 的目的是为了支持并行编程,对于普通的 local 变量,我们就不能在 block 里面随意修改(原因很简单,block 可以被多个线程并行运行,会有问题
Kvo是Cocoa的一个重要机制,他提供了观察某一属性变化的方法,极大的简化了代码。这种观察-被观察模型适用于这样的情况,比方说根据A(数 据类)的某个属性值变化,B(view类)中的某个属性做出相应变化。对于推崇MVC的cocoa而言,kvo应用的地方非常广泛。(这样的机制听起来类 似Notification,但是notification是需要一个发送notification的对象,一般是 notificationCenter,来通知观察者。而kvo是直接通知到观察对象。)
适用kvo时,通常遵循如下流程:
1 注册:
-(void)addObserver:(NSOb ...
NSString *htmlPath = @"addComment.html";
NSString *encodedPath = [htmlPath stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding];
NSString *urlStr = nil;
if (self.itemId == 0) {
urlStr = [NSString stringWithFormat:@"file://%@", encodedPath];
...
code中默认的UILabel是垂直居中对齐的,如果你的UILabel高度有多行,当内容少的时候,会自动垂直居中。
比较郁闷的是,UILabel并不提供设置其垂直对齐方式的选项。所以如果你想让你的文字顶部对齐,那么就需要自己想办法了。
stackoverflow.com 上提供了几种方法来达到顶部对齐的效果。
方法一:
在显示文字时,首先计算显示当前的文字需要多宽和多高,然后将对应的UILabel的大小改变成对应的宽度和高度。
该方法的代码如下:
CGSize maximumSize =CGSizeMake(300
本文分析对比了各种更改UIView背景的方法。当然,背景是根据一个图片来的(非纯色)。
一.加一个uiimageview在uiview上面
UIImageView* imageView = [[UIImageView alloc] initWithFrame:view.bounds]; imageView.image = [[UIImage imageNamed:@"name.png"] stretchableImageWithLeftCapWidth:left topCapHeight:top];
[view addSubview:im ...
DWORD __stdcall mythread(void* ){ while( true ) { char* p = new char[1024]; delete p; }}
int _tmain(int argc, _TCHAR* argv[]){ HANDLE h = CreateThread(NULL, 0, mythread, NULL, 0, NULL); Sleep(1000); TerminateThread(h, 0); h = NULL ...
在开发Windows引用程序的时候,在一些需要用户确认,或者提示用户注意的场合,经常使用模态对话框,或者叫模态窗口。在绝大多数情况下,模态窗口给开发人员带来了极大的便利,并且在某些应用上有不可替代的优势。然而凡事有利必有弊,如果不正确地使用模态窗口,却有可能带来某些严重问题,甚至可能引起程序崩溃。要想知道为什么模态窗口可能带来某些严重问题,就必须首先了解模态窗口的实现原理。因此本文将首先介绍模态窗口实现原理,然后分析为什么会带来问题。
原理
知道了原理,一切就可迎刃而解。了解了原理,就可以知道,模态窗口并不是Windows特有的,而是可以在任何一个GUI系统中实现出来,包括手机上。 ...
GNU/Linux是GNU计划的支持者与开发者,特别是其创立者理查德·斯托曼对于一个以Linux闻名的类Unix操作系统的称呼。
由林纳斯·托瓦兹及其他人士开发的Linux并不是一个完整的操作系统,而仅仅是一个类Unix内核。事实上,Linux一开始是以完成Minix内核的功能为目标,林纳斯想做一个“比Minix更好的Minix”。而GNU计划始于1984年,终极目标是完成一套基于自由软件的完整作业操作系统。到1991年Linux的第一个版本公开发行时,GNU计划已经完成除了操作系统内核之外的大部分软件,其中包括了一个壳程序(shell),C语言程序库以及一个C语言编译器 ...
进程实例句柄
加载到进程地址空间的每一个可执行文件或者DLL文件都被赋予了一个独一无二的实例句柄。可执行文件的实例被当作(w)WinMain函数的第一个参数hInstanceExe传入。在需要加载资源的函数调用中,一般都要提供此句柄的值。例如,为了从可执行文件的映像中加载一个图标资源,就需要调用下面这个函数:
HICON LoadIcon (
HINSTANCE
hInstance,
PCTSTR
pszIcon);
LoadIcon函数的第一个参数指出了哪个文件(可执行文件或 ...
Qt 是一个跨平台的 C++ 图形用户界面库,由挪威 TrollTech公司出品,目前包括Qt, 基于 Framebuffer 的 Qt Embedded,快速开发工具 Qt Designer,国际化工具 Qt Linguist 等部分. Qt支持所有 Unix 系统,当然也包括 Linux,还支持WinNT/Win2k,W ...