首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

自定义控件课题总结

2013-08-29 
自定义控件专题总结iPhone中自定义控件实现步骤objective-c中是所有对象间的交互是如何实现的? (面试题)

自定义控件专题总结

iPhone中自定义控件实现步骤
objective-c中是所有对象间的交互是如何实现的? (面试题)
答:记住,在Objective-C中所有对象间的交互都是通过指针实现的。
objective-c中是如何实现线程同步的?    (面试题)

线程同步和线程异步有什么区别?
打个比方,如果你在等一个人,
同步的时候,你会一直等到她来了之后才做其他事情,这个过程除了等待你啥都不会做,
异步的时候,你一边在等,可能一边玩游戏或者是看报纸什么的,一直到她到来,你的等待状态才会结束
在实现上,同步的过程会阻塞进程的所有其他操作,将同步转换为异步的最常见方法则是
将会阻塞进程的等待操作放入到一个新的进程中,同时为该等待操作添加一个监视器,在检测到等待操作完成的时候结束等待的进程。

1、在系统控件上进行功能扩充的自定义控件
2、是完全重写控件,包括自定义控件的触发事件,例子如:自定义Button
具体的实现
例如:自定义Button ,可以采用两种实现方案。
1、有响应事件,直接继承UIButton的自定义控件。
2、从UIVIew继承,然后实现点击事件和其他一些属性。无响应事件,继承自UIView的自定义控件。一个自定义类,从UIView继承
自定义initwithframe(frame,images,title,)
三个uiimage,highlight,normal和disable,
一个uilabel,显示文本.
在touch里面实现点击事件,

iPhone控件自定义控件开发:重绘还是组合
iPhone开发当中处于需求经常需要一些自定义控件。当然,处于成本和质量的考虑,请优先选择系统控件。当真正需要开发自定义控件的时候,通常又会有两种选择:重绘或者组合。重绘就是重写控件的绘制函数,在该函数中绘制期望的效果。而组合就是通过不同控件的搭配形成满足需求的控件。当然,根据自定义控件需求的不一样,有的适合用重绘,有的则是适合用组合,有时则是两种实现都适用。比如星级控件是项目中比较经常用到的但是系统没有提供的一种控件。对于这个一个控件我们又是要如何选择呢?

重绘实现:


自定义按钮2
UIImage *buttonUpImage = [UIImageimageNamed:@"button_up.png"];UIImage *buttonDownImage =[UIImage imageNamed:@"button_down.png"];//创建按钮,并设置类型。UIButton *button = [UIButtonbuttonWithType:UIButtonTypeCustom];button.frame = CGRectMake(0.0,0.0, buttonUpImage.size.width, buttonUpImage.size.height);[buttonsetBackgroundImage:buttonUpImageforState:UIControlStateNormal];[buttonsetBackgroundImage:buttonDownImageforState:UIControlStateHighlighted];[button setTitle:@"Tap"forState:UIControlStateNormal];[button addTarget:selfaction:@selector(buttonTapped:)forControlEvents:UIControlEventTouchUpInside]; //用代码实现控件的触发事件[button addTarget:self action:@selector(buttonTapped:)forcontrolEvents:UIControlEventTouchUpInside]

buttonTapped这个是你对button的UIControlEventTouchUpInside事件自定义响应函数。

From http://www.cocoachina.com/bbs/read.php?tid=49128&page=1

热点排行