"MNOPQRSTUVsWXYZ";
2.使用快照:如果你打算对工程做一些比较大或者复杂的改动,你需要更改许多的地方,但是你又不确定你改完了是不是会出问题,此时你可以在工程还没有改动之前,处于最佳状态的时候,点击菜单栏的File---Make Snapshot,为工程制作一个快照,一旦修改出现了问题,可以点击菜单栏File---Snapshots,然后在弹出的对话框中点击 Restore直接回滚到快照保存的状态。
(不错,挺好用的)
3.
如何实现按一下button换另一张图片
[你的button setImage:[UIImage imageNamed:@"图片名2"] forState:UIControlStateHighlighted];//这个就是按下时调用的图片
UIImageView *barBackgroudView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
barBackgroudView.image = [UIImage imageNamed:@"bg.png"];
[bar insertSubview:barBackgroudView atIndex:0];
[barBackgroudView release];
5.怎么给UITableViewCell添加背景图片
[cell.backgroundView setFrame:CGRectMake(0, 0, 320, 66)];
cell.backgroundColor=[UIColor clearColor];
cell.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"home.png"]];
6.cell.textLabel.backgroundColor= [UIColor clearColor]; 这样可以把label的背景设置为透明的
7.将label显示再UITableViewCell 的中间
NSString* titleCellIdentifier = [NSStringFromClass([self class]) stringByAppendingString:@"title"];
UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:titleCellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue2 reuseIdentifier:titleCellIdentifier] autorelease];
}
CGRect cellFrame=cell.frame;
CGRect labelFrame =CGRectMake(cellFrame.size.width/2-50, cellFrame.origin.y+10, 100, 30);
UILabel *lab = [[UILabel alloc]initWithFrame:labelFrame];
lab.backgroundColor=[UIColor clearColor];
lab.text = @"labeltext";
lab.numberOfLines = 0;
[cell addSubview:lab];
[lab release];
return cell;
8.这样可以打出方法名
/* Perform a task here */NSLog(@"%s", __FUNCTION__);
9.
if (cell==nil) {
NSArray *nib=[[NSBundlemainBundle]loadNibNamed:@"WorkExperienceCell"owner:selfoptions:nil];
if ([nibcount]>0) {
cell=self.basicListTableCell;
}
else
{
NSLog(@"failed to load nib file");
}
}
当basicListTableCell界面有两个不同的连接切一个连接已删除时, NSArray *nib=[[NSBundle mainBundle] loadNibNamed:@"WorkExperienceCell" owner:selfoptions:nil];报错,这句话报错,但是没有错误信息,害我一顿好找
10.用自定义的TableViewCell来完成tableview的展现,应为tableview是圆角的,我内部的控件会冒出来,很难看,这个时候,选择 clipSubView即可。经验啊,木有拌饭,没碰到过这个问题,就是不会。
11.tableView:viewForFooterInSection: 不会生效,如果我设置
-(CGFloat) tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section
{
return0;
}
12.看样子,这是debug的时候才能进来执行的意思
#ifdef DEBUGX
NSLog(@"%s",__FUNCTION__);
NSLog(@"imageScale: %f",imageScale);
// NSLog(@"imageRect: %@", imageRect.size);
#endif
地下是图片
13.
判断是phone 还是pad的方法,在application:didFinishLaunchingWithOptions里面用一个全局变量保存
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
if ([[UIDevicecurrentDevice]userInterfaceIdiom] ==UIUserInterfaceIdiomPhone) {
myNumber = [[NSNumberalloc]initWithBool:1];
[globalVariablessetValue:myNumberforKey:@"IsPhone"];
}
}
14.
[[UIApplicationsharedApplication]setNetworkActivityIndicatorVisible:YES];
设置左上角的NetworkActivity
很容易想到
解决方式1: 自定义
解决方式2: label
解决方式3: 字符串前面加几个空格
其实第二种方式很2,当横竖屏切换,上下拖拽,重绘的时候,如果没有删除之前添加的label,会出现两个label。我也是搜了一下,才完美而简单地解决这个问题。
但是没有最后一个简单,给力,
cell.textLabel.textAlignment=UITextAlignmentCenter;
但是这个方法仅限当cell的style是default的时候有效。
<搜到的,呵呵》
16.
ios中UITableViewCell选中后的颜色设置
1 //无色 2 cell.selectionStyle=UITableViewCellSelectionStyleNone; 3 //蓝色,也就是系统默认的颜色 4 cell.selectionStyle=UITableViewCellSelectionStyleBlue; 5 //灰色 6 cell.selectionStyle=UITableViewCellSelectionStyleGrap;
详情请参考:http://www.cnblogs.com/chen111/archive/2012/08/25/2655795.html
String Format Specifiers
o learn about formatting strings with system-independent formatspecifiers in Objective-C,
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{}
发现转屏之后,不调用这个,问了同事才知道,原来,这个sub view是别的parent view 作为一个subview加进来的,如果转了之后,这个sub view 里面不会被触发,parent view 里面的会被触发。
19.
如何获取当前视图中成为第一响应者的组件,并取消注册
UIWindow *keyWindow = [[UIApplication sharedApplication] keyWindow];
UIView *firstResponder = [keyWindow performSelector:@selector(firstResponder)];
[firstResponder resignFirstResponder];
[btn setImage:spreadImage forState:UIControlStateNormal];
这才是正确的写法,让
btn.imageView.image 见鬼去吧,同理,还有title
-(BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController*)viewController
{
CATransition* myanimation = [CATransition animation];
[myanimation setDuration:0.85f];
[myanimation setType:kCATransitionFade];
[myanimation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]];
[tabBarController.view.layer addAnimation:myanimation forKey:@"switchView"];
if (ISPHONE) {
if ([[UIApplication sharedApplication ] statusBarFrame].size.height==0) {
viewController.view.center=CGPointMake(viewController.view.center.x, viewController.view.center.y+20.0f);
}
}
return YES;
}
// [[NSNotificationCenter defaultCenter] addObserver:self
// selector:@selector(orientationChanged:)
// name:UIDeviceOrientationDidChangeNotification
// object:nil];
兼容5,6
不过项目里面,很多情况,也用到这种方法
-(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
if (ISPHONE) {
return;
}
if (toInterfaceOrientation==UIInterfaceOrientationPortrait) {
DerictionV = 1;
self.view=self.myPortrait;
self.view.transform=CGAffineTransformIdentity;
self.view.transform=CGAffineTransformMakeRotation(degreesToRadians(0));
self.view.bounds=CGRectMake(0.0, 0.0, 768.0, 1024.0);
}
if (toInterfaceOrientation==UIInterfaceOrientationLandscapeLeft) {
DerictionV = 0;
self.view=self.myLandscape;
self.view.transform=CGAffineTransformMakeRotation(degreesToRadians(-90));
self.view.bounds=CGRectMake(0.0, 0.0, 1024.0, 768.0);
}
if (toInterfaceOrientation==UIInterfaceOrientationPortraitUpsideDown) {
DerictionV = 1;
self.view=self.myPortrait;
self.view.transform=CGAffineTransformMakeRotation(degreesToRadians(180));
self.view.bounds=CGRectMake(0.0, 0.0, 768.0, 1024.0);
}
if (toInterfaceOrientation==UIInterfaceOrientationLandscapeRight) {
DerictionV = 0;
self.view=self.myLandscape;
self.view.transform=CGAffineTransformMakeRotation(degreesToRadians(90));
self.view.bounds=CGRectMake(0.0, 0.0, 1024.0, 768.0);
}
if (carousel) {
[self rotateCarousel];
}
}
把这段话删掉
self.titleItem.title = [receiveDatavalueForKey:@"formTitle"];
加上这么一段代码
UILabel* titleLabel =[[UILabel alloc] initWithFrame:CGRectMake(0, 0 , 218, 44)];
titleLabel.backgroundColor = [UIColorclearColor]; //设置Label背景透明
titleLabel.font = [UIFontboldSystemFontOfSize:13]; //设置文本字体与大小
titleLabel.textAlignment =UITextAlignmentCenter;
titleLabel.text=[receiveDatavalueForKey:@"formTitle"];
self.titleItem.customView=titleLabel;
[titleLabel release];
24.svn 更换ip地址,还有很多没有更改没有迁入,怎么办。
cd 到svn的目录
通过 svn info获取当前的地址
Path: .
URL: http://10.3.20.47:8081/svn
svn switch --relocate 原始ip 新的ip
svn switch --relocate http://10.3.20.47:8081/svn/ http://10.3.20.47:8081/svn/
#define IS_IPAD (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
26..h文件中加 UITapGestureRecognizer *tap;
.m中加这个
-(void)textViewDidBeginEditing:(UITextView *)textView
{
//添加了一个手势 但是要记得移除
tap=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(keyBoardMiss) ];
[tabView addGestureRecognizer:tap];
[tap release];
}
-(void) keyBoardMiss
{
[userMsg_text resignFirstResponder];
[tabView removeGestureRecognizer:tap];//手势页面的移除
}
tablevie 增加手势的识别。
后期发现,这样子,就无法出发,tableviewcell 的点击事件了
Warning: no rule to process file '$(PROJECT_DIR)/UIView-ViewFrameGeometry.h' of type sourcecode.c.h for architecture armv7
Use Compiler Flags to Enable and Disable ARC
You enable ARC using a new -fobjc-arc compiler flag. You can also choose to use ARC on a per-file basis if it’s more convenient for you to use manual reference counting for some files. For projects that employ ARC as the default approach, you can disable ARC for a specific file using a new -fno-objc-arc compiler flag for that file.[self.myViewsetNeedsDisplay];
方法即可。
toolbar 的 UIBarButtonItem 会自动扩大可点击区域,查了一下,应该是一个防止用户点击不到的一个设置。但是也会误触。试了一下,比较简单的方法是用 这个方法
UIBarButtonItem *leftButton = [[UIBarButtonItemalloc]initWithCustomView:barButton];
for (NSDictionary *dicin blocks )
用这种方式,循环,但是,一旦需要用到dic 在array 里面的的索引了,就改成for(int i=0 ;i<count;i++)了,今天发现可以用这个方法
sectionNumber=[blocks indexOfObject:dic];
其实早就发现了,偷懒,没有查,查一下就会了。
31.用这个方法发现,手机翻转的时候,底下的工具栏是会改变高度的。
-(void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
NSString *frameString=NSStringFromCGRect(self.navigationController.toolbar.frame);
NSLog(@"frameString:%@",frameString);
}
2013-06-23 14:11:43.598 MobileOA[15916:19d03] frameString:{{0, 288}, {480, 32}}
2013-06-23 14:11:46.180 MobileOA[15916:19d03] frameString:{{0, 436}, {320, 44}}
32.用这个方法,可以给uiview,加上圆角
#import <QuartzCore/QuartzCore.h>
secondTextView.layer.cornerRadius=6;
secondTextView.layer.masksToBounds=YES;
secondTextView.layer.borderWidth=0.3;
33