更改cell选中的背景
//创建一个UIView对象
UIView *myview = [[UIView alloc] init];
//设置UIView对象的外观大小
myview.frame = CGRectMake(0, 0, 320, 47);
//设置UIView对象的背景色。 [UIColor colorWithPatternImage:[UIImage imageNamed:@"0006.png"]] 从图片中创建颜色 myview.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"0006.png"]];
//设置cell被选中时的颜色
cell.selectedBackgroundView = myview;
在数字键盘上添加button:
//定义一个消息中心
//addObserver:注册一个观察员 name:消息名称
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(keyboardWillShow:)
name:UIKeyboardWillShowNotification object:nil];
//定义的动作
- (void)keyboardWillShow:(NSNotification *)note {
// 创建一个自定义的UIButton对象
UIButton *doneButton = [UIButton buttonWithType:UIButtonTypeCustom];
//设置UIButton大小的外观大小
doneButton.frame = CGRectMake(0, 163, 106, 53);
//设置该UIButton对象在正常状态下显示的图片
[doneButton setImage:[UIImage imageNamed:@"5.png"] forState:UIControlStateNormal];
//注册事件
[doneButton addTarget:self action:@selector(addRadixPoint) forControlEvents:UIControlEventTouchUpInside];
// locate keyboard view取得UIWindow对象
UIWindow* tempWindow = [[[UIApplication sharedApplication] windows] objectAtIndex:1];UIView* keyboard;
//遍历window上的所有subview
for(int i=0; i<[tempWindow.subviews count]; i++)
{
keyboard = [tempWindow.subviews objectAtIndex:i];
// keyboard view found; add the custom button to it //如果该subview是键盘,就在该键盘上添加创建的button 对象
if([[keyboard description] hasPrefix:@"<UIKeyboard"] == YES)
[keyboard addSubview:doneButton];
}
}
正则表达式使用:
被用于正则表达式的字串必须是可变长的,不然会出问题
将一个空间放在视图之上.above:在什么之上的意思
[scrollView insertSubview:searchButton aboveSubview:scrollView];
从本地加载图片
//取得当前应用程序的束--[NSBundle mainBundle]
//取得资源的路径
NSString *boundle = [[NSBundle mainBundle] resourcePath];
[web1 loadHTMLString:[NSString stringWithFormat:@"<img src='0001.png'/>"]
baseURL:[NSURL fileURLWithPath:boundle]];
从网页加载图片并让图片在规定长宽中缩小
[cell.img
loadHTMLString:
[NSString stringWithFormat:@"<html><body><img src='%@'height='90px'width='90px'></body></html>",goodsInfo.GoodsImg]
baseURL:nil
];
将网页加载到webview上通过javascript获取里面的数据,
如果只是发送了一个连接请求获取到源码以后可以用正则表达式进行获取数据
1. NSString *javaScript1 = @"document.getElementsByName('.u').item(0).value";
2. NSString *javaScript2 = @"document.getElementsByName('.challenge').item(0).value";
3. NSString *strResult1 = [NSString stringWithString:[theWebView stringByEvaluatingJavaScriptFromString:javaScript1]];
4. NSString *strResult2 = [NSString stringWithString:[theWebView stringByEvaluatingJavaScriptFromString:javaScript2]];
用NSString怎么把UTF8转换成unicode
utf8Str //
NSString *unicodeStr = [NSString stringWithCString:[utf8Str UTF8String] encoding:NSUnicodeStringEncoding];
View自己调用自己的方法:
//黄色段为方法名,和延迟几秒执行.loginToNext:方法名称 。afterDelay:2--延长2秒调用
[self performSelector:@selector(loginToNext) withObject:nil afterDelay:2];
显示图像:
CGRect myImageRect = CGRectMake(0.0f, 0.0f, 320.0f, 109.0f);
UIImageView *myImage = [[UIImageView alloc] initWithFrame:myImageRect];
[myImage setImage:[UIImage imageNamed:@"myImage.png"]];
//opaque是否透明
myImage.opaque = YES;
[self.view addSubview:myImage];
[myImage release];
WebView:
CGRect webFrame = CGRectMake(0.0, 0.0, 320.0, 460.0);
UIWebView *webView = [[UIWebView alloc] initWithFrame:webFrame];
[webView setBackgroundColor:[UIColor whiteColor]];
NSString *urlAddress = @"http://www.google.com";
NSURL *url = [NSURL URLWithString:urlAddress];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[webView loadRequest:requestObj];
[self addSubview:webView];
[webView release];
显示网络活动状态指示符
这是在iPhone左上部的状态栏显示的转动的图标指示有背景发生网络的活动。
UIApplication* app = [UIApplication sharedApplication];
app.networkActivityIndicatorVisible = YES;
动画:一个接一个地显示一系列的图象
NSArray *myImages = [NSArray
arrayWithObjects:
[UIImage imageNamed:@"myImage1.png"],
[UIImage imageNamed:@"myImage2.png"],
[UIImage imageNamed:@"myImage3.png"],
[UIImage imageNamed:@"myImage4.gif"],
nil];
//创建一个UIImageView对象
UIImageView *myAnimatedView = [UIImageView alloc];
//初始化UIImageView对象的大小
[myAnimatedView initWithFrame:[self bounds]];
//animationImages属性返回一个存放动画图片的数组
myAnimatedView.animationImages = myImages;
//浏览整个图片一次所用的时间
myAnimatedView.animationDuration = 0.25;
// 0 = loops forever 动画重复次数
myAnimatedView.animationRepeatCount = 0;
//开始动画
[myAnimatedView startAnimating];
//把该UIImageView对象添加到view视图中
[self addSubview:myAnimatedView];
//释放
[myAnimatedView release];
动画:显示了something在屏幕上移动。
注:这种类型的动画是“开始后不处理” -你不能获取任何有关物体在动画中的信息(如当前的位置) 。
如果您需要此信息,您会手动使用定时器去调整动画的X和Y坐标
这个需要导入QuartzCore.framework
CABasicAnimation *theAnimation;
theAnimation=
[CABasicAnimation animationWithKeyPath:@"transform.translation.x"];
//Creates and returns an CAPropertyAnimation instance for the specified key path.
//parameter:the key path of the property to be animated
theAnimation.duration=1;
theAnimation.repeatCount=2;
theAnimation.autoreverses=YES;
theAnimation.fromValue=[NSNumber numberWithFloat:0];
theAnimation.toValue=[NSNumber numberWithFloat:-60];
[view.layer addAnimation:theAnimation forKey:@"animateLayer"];
Draggable items//拖动项目
Here's how to create a simple draggable image.//这是如何生成一个简单的拖动图象
1. Create a new class that inherits from UIImageView
@interface myDraggableImage : UIImageView
{
}
2. In the implementation for this new class, add the 2 methods:
- (void) touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event
{
// Retrieve the touch point 检索接触点
CGPoint pt = [[touches anyObject] locationInView:self];
startLocation = pt;
[[self superview] bringSubviewToFront:self];
}
- (void) touchesMoved:(NSSet*)touches withEvent:(UIEvent*)event
{
// Move relative to the original touch point 相对以前的触摸点进行移动
CGPoint pt = [[touches anyObject] locationInView:self];
CGRect frame = [self frame];
frame.origin.x += pt.x - startLocation.x;
frame.origin.y += pt.y - startLocation.y;
[self setFrame:frame];
}
3. Now instantiate the new class as you would any other new image and add it to your view
//实例这个新的类,放到你需要新的图片放到你的视图上
dragger = [[myDraggableImage alloc] initWithFrame:myDragRect];
[dragger setImage:[UIImage imageNamed:@"myImage.png"]];
[dragger setUserInteractionEnabled:YES];
线程:
1. Create the new thread:
[NSThread detachNewThreadSelector:@selector(myMethod) toTarget:self withObject:nil];
2. Create the method that is called by the new thread:
- (void)myMethod
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
*** code that should be run in the new thread goes here ***
[pool release];
}
/***What if you need to do something to the main thread from inside your new thread
*(for example, show a loading //symbol)? Use *performSelectorOnMainThread.
**/
[self performSelectorOnMainThread:@selector(myMethod) withObject:nil waitUntilDone:false];
/*** Plist files Application-specific plist files can be stored in the Resources folder of the app bundle.
*When the app first launches, it should check if there is an existing plist in the user's Documents folder,
*and if not it should copy the plist from the app bundle.
**/
// Look in Documents for an existing plist file
NSArray *paths = NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
myPlistPath = [documentsDirectory stringByAppendingPathComponent:
[NSString
stringWithFormat:
@"%@.plist",
plistName]
];
[myPlistPath retain];
// If it's not there, copy it from the bundle
NSFileManager *fileManger = [NSFileManager defaultManager];
if ( ![fileManger fileExistsAtPath:myPlistPath] )
{
NSString *pathToSettingsInBundle = [[NSBundle mainBundle]
pathForResource:plistName
ofType:
@"plist"];
}
//Now read the plist file from Documents
NSArray *paths = NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectoryPath = [paths objectAtIndex:0];
NSString *path = [documentsDirectoryPath stringByAppendingPathComponent:@"myApp.plist"];
NSMutableDictionary *plist = [NSDictionary dictionaryWithContentsOfFile: path];
//Now read and set key/values
myKey = (int)[[plist valueForKey:@"myKey"] intValue];
myKey2 = (bool)[[plist valueForKey:@"myKey2"] boolValue];
[plist setValue:myKey forKey:@"myKey"];
[plist writeToFile:path atomically:YES];
//Alerts Show a simple alert with OK button.
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:nil
message: @"An Alert!"
delegate:self
cancelButtonTitle:@"OK"
otherButtonTitles:nil
];
[alert show];
[alert release];
//Info button
//Increase the touchable area on the Info button, so it's easier to press.
CGRect newInfoButtonRect = CGRectMake(infoButton.frame.origin.x-25,
infoButton.frame.origin.y-25, infoButton.frame.size.width+50, infoButton.frame.size.height+50);
[infoButton setFrame:newInfoButtonRect];
//Detecting Subviews
//You can loop through subviews of an existing view. This works especially well if you use the "tag" property on your views.
for (UIImageView *anImage in [self.view subviews])
{
if (anImage.tag == 1)
{
// do something
}
}
正则表达式
NSString *mystring = @"Letter1234";
NSString *regex = @"[a-z][A-Z][0-9]
";
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
if ([predicate evaluateWithObject:mystring] == YES) {
//implement
}
分享到:
相关推荐
【iPhone开发笔记】这篇笔记主要涉及的是在Windows环境下如何搭建iPhone应用开发的环境,以及使用Xcode进行初步的编程体验,特别是创建一个简单的"Hello World"应用。 首先,要搭建开发平台,你需要在Windows系统中...
以上是iPhone开发笔记中的一部分重要内容,涵盖了从基础的UI布局到复杂的交互处理,对于iOS开发者来说,这些都是日常工作中不可或缺的知识点。通过深入理解和实践,可以提升开发效率和应用质量。
在iOS开发中,Core Data是苹果提供的一种强大的数据持久化框架,它简化了数据库操作,使得开发者能够更专注于应用程序的业务逻辑。本文将基于提供的代码片段和描述,深入讲解Core Data的基本概念、实体(Entity)、...
iphone开发笔记.iphone开发笔记.iphone开发笔记.iphone开发笔记.
### iPhone开发一年的工作笔记知识点详解 #### 文档概述 该文档是作者从事iOS开发一年以来,针对工作中常用到的200多个iOS知识点进行总结整理的成果。文档中不仅包含了知识点的简要介绍,还提供了可运行的示例代码...
本压缩包中包含了Iphone开发中常用到的技术总结笔记,五六十中技术方法以及季节方案,包括内存管理,方法回调,获取当前地点,自定义CELL,VIew圆角等等等,太多的奶水包,是我开发中所有的精华所在,只有你不知道的...
这些标签表明这些文档是围绕iPhone开发的学习材料,适合开发者作为笔记参考,或者对iPhone开发感兴趣的初学者使用。通过阅读和学习,开发者可以建立起扎实的iPhone应用开发基础,并逐步提升技能水平。 总结来说,这...
本教程主要聚焦于iPhone开发的基础知识,包括Object-C语言、界面设计和UIViewController的使用。 Object-C是iOS开发的主要编程语言,它基于C语言并添加了Smalltalk的面向对象特性。对于初学者来说,《Learn Object-...
本篇笔记将详细介绍`NSLog`的使用和其在iPhone应用开发中的作用。 `NSLog`是Foundation框架的一部分,用于向控制台输出文本信息。它在Objective-C和Cocoa Touch环境中扮演着类似Java中`System.out.println`的角色,...
### iPhone开发基础教程知识点概述 #### 一、开发前的准备 - **硬件需求**:首先,需要确保拥有一台运行OS X Leopard (10.5.3或更高版本)的基于Intel的Macintosh计算机。这包括2006年后发布的任何Macintosh计算机,...
为了降低这一门槛,一些技术爱好者尝试在非苹果电脑上安装Mac OS X及iPhone开发环境,从而实现跨平台开发。 #### 二、准备工作 在开始安装之前,我们需要准备以下几项内容: 1. **硬件要求**: - 支持虚拟技术的...
### 基于Xcode4.3的iPhone编程学习笔记:HelloWorld #### 第一篇:HelloWorld编程 本文档旨在帮助初学者理解如何通过Xcode 4.3环境搭建简单的iOS应用程序,具体以HelloWorld应用为例,从创建工程到运行程序进行...
### IT知识点解析:《谢伟-基于iPhone开发实践》PDF概览 #### 一、iPhone/iPad特色功能及其优势 1. **触摸交互**:iPhone 和 iPad 的触控屏技术非常先进,支持多点触控,能够实现各种复杂的触摸手势,如滑动、缩放...
【标题】"千锋OC源码,自学iPhone开发"涵盖了重要的iOS编程学习资源,主要针对初学者,通过千锋3G学院的课程体系,提供Objective-C(简称OC)的源码和课堂笔记,以日期为线索,系统地组织了每天的学习内容。...