1、UITableView调用cellForRowAtIndexPath:返回空的情况
[UITableView cellForRowAtIndexPath:index];//如果想要返回的cell并未被显示(绘制)则会返回为空,那么需要想方设法促使cell被绘制,例如调用下面的方法:
[mTableDevices scrollToRowAtIndexPath:index atScrollPosition:UITableViewScrollPositionNone animated:NO]; //animated:NO必须是NO,否则selectRowAtIndexPath如果选择中未被绘制的cell将会返回空
2、UIView的放大缩小
#import <QuartzCore/QuartzCore.h>
.......
CGAffineTransform可以用来完成UIVIew的各种缩放翻转,如下定义
A structure for holding an affine transformation matrix.
struct CGAffineTransform {
CGFloat a;
CGFloat b;
CGFloat c;
CGFloat d;
CGFloat tx;
CGFloat ty;
};
typedef struct CGAffineTransform CGAffineTransform;
CGAffineTransform
//UIView放大
UIView *view = ...;
CGAffineTransform trans = CGAffineTransformScale(self.transform, 1.5, 1.5);
view.transform = trans;
//缩小到放大前的状态
CGAffineTransform trans = CGAffineTransformInvert(self.transform); //详见CGAffineTransformInvert函数定义
/*
trans = {
a = 0.666667 //0.666667 = 1 - 1/1.5, 1.5即之前放大倍数的倒数, 1.5 * a = 1,才能回到之前的大小状态
b = -0
c = -0
d = 0.666667
tx = 0
ty = 0
} */
CGAffineTransform newTransform = CGAffineTransformConcat(self.transform, trans); //两两相乘
// CGAffineTransform newTransform = CGAffineTransformMake(1.0, 0, 0, 1.0, 0, 0); //两个newTransform的值是一样的
self.transform = newTransform;
3.程序是启动状态时设置屏幕一直亮
UIApplication *appDelegate = [UIApplicationsharedApplication];
appDelegate.idleTimerDisabled =YES;
4.如何用UIColor生成UIImage
[plain] view plaincopyprint?
- (void)viewDidLoad
{
[superviewDidLoad];
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(10,10,100,100)];
UIImage *image = [self createImageWithColor:[UIColoryellowColor]]; //生成一张黄颜色的图片
[imageViewsetImage:image];
[self.viewaddSubview:imageView];
[imageViewrelease];
}
- (UIImage *) createImageWithColor: (UIColor *) color
{
CGRect rect = CGRectMake(0.0f,0.0f,1.0f,1.0f);
UIGraphicsBeginImageContext(rect.size);
CGContextRef context =UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [colorCGColor]);
CGContextFillRect(context, rect);
UIImage *theImage =UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return theImage;
}