《2022年IPhone开发常用代码 .pdf》由会员分享,可在线阅读,更多相关《2022年IPhone开发常用代码 .pdf(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Iphone 开发常用代码更改 cell 选中的背景 UIView *myview = UIView alloc init; myview.frame = CGRectMake(0, 0, 320, 47); myview.backgroundColor = UIColor colorWithPatternImage:UIImage imageNamed:0006.png; cell.selectedBackgroundView = myview; 在数字键盘上添加button:/ 定义一个消息中心NSNotificationCenter defaultCenter addObserver:s
2、elf selector:selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil; /addObserver:注册一个观察员name: 消息名称- (void)keyboardWillShow:(NSNotification *)note / create custom button UIButton *doneButton = UIButton buttonWithType:UIButtonTypeCustom; doneButton.frame = CGRectMake(0, 163, 106,
3、53); doneButton setImage:UIImage imageNamed:5.png forState:UIControlStateNormal; doneButton addTarget:self action:selector(addRadixPoint) forControlEvents:UIControlEventTouchUpInside; / locate keyboard view UIWindow* tempWindow = UIApplication sharedApplication windows objectAtIndex:1;/返回应用程序window
4、UIView* keyboard; for(int i=0; itempWindow.subviews count; i+) /遍历 window上的所有subview keyboard = tempWindow.subviews objectAtIndex:i; / keyboard view found; add the custom button to it if(keyboard description hasPrefix:UIKeyboard = YES) keyboard addSubview:doneButton; 正则表达式使用:被用于正则表达式的字串必须是可变长的,不然会出问
5、题将一个空间放在视图之上scrollView insertSubview:searchButton aboveSubview:scrollView; 从本地加载图片名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 6 页 - - - - - - - - - NSString *boundle = NSBundle mainBundle resourcePath; web1 loadHTMLString:NSString stringWithFormat: baseURL:N
6、SURL fileURLWithPath:boundle; 从网页加载图片并让图片在规定长宽中缩小cell.img loadHTMLString:NSString stringWithFormat:,goodsInfo.GoodsImg baseURL:nil; 将网页加载到webview上通过 javascript获取里面的数据,如果只是发送了一个连接请求获取到源码以后可以用正则表达式进行获取数据NSString *javaScript1 = document.getElementsByName(.u).item(0).value; NSString *javaScript2 = docum
7、ent.getElementsByName(.challenge).item(0).value; NSString *strResult1 = NSString stringWithString:theWebView stringByEvaluatingJavaScriptFromString:javaScript1; NSString *strResult2 = NSString stringWithString:theWebView stringByEvaluatingJavaScriptFromString:javaScript2; 用 NSString怎么把 UTF8 转换成 unic
8、ode utf8Str / NSString *unicodeStr = NSString stringWithCString:utf8Str UTF8String encoding:NSUnicodeStringEncoding; View 自己调用自己的方法: self performSelector:selector(loginToNext) withObject:nil afterDelay:2;/黄色段为方法名 ,和延迟几秒执行. 显示图像 : CGRect myImageRect = CGRectMake(0.0f, 0.0f, 320.0f, 109.0f); UIImageVi
9、ew *myImage = UIImageView alloc initWithFrame:myImageRect; myImage setImage:UIImage imageNamed:myImage.png; myImage.opaque = YES; /opaque是否透明self.view addSubview:myImage; myImage release; WebView: CGRect webFrame = CGRectMake(0.0, 0.0, 320.0, 460.0); UIWebView *webView = UIWebView alloc initWithFram
10、e:webFrame; webView setBackgroundColor:UIColor whiteColor; NSString *urlAddress = http:/; NSURL *url = NSURL URLWithString:urlAddress; NSURLRequest *requestObj = NSURLRequest requestWithURL:url; webView loadRequest:requestObj; self addSubview:webView; webView release; 名师资料总结 - - -精品资料欢迎下载 - - - - -
11、- - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 6 页 - - - - - - - - - 显示网络活动状态指示符这是在 iPhone左上部的状态栏显示的转动的图标指示有背景发生网络的活动。UIApplication* app = UIApplication sharedApplication; workActivityIndicatorVisible = YES; 动画 :一个接一个地显示一系列的图象NSArray *myImages = NSArray arrayWithObjects: UIImage imageNamed:m
12、yImage1.png, UIImage imageNamed:myImage2.png, UIImage imageNamed:myImage3.png, UIImage imageNamed:myImage4.gif, nil; UIImageView *myAnimatedView = UIImageView alloc; myAnimatedView initWithFrame:self bounds; myAnimatedView.animationImages = myImages; /animationImages属性返回一个存放动画图片的数组myAnimatedView.ani
13、mationDuration = 0.25; /浏览整个图片一次所用的时间myAnimatedView.animationRepeatCount = 0; / 0 = loops forever 动画重复次数myAnimatedView startAnimating; self addSubview:myAnimatedView; myAnimatedView release; 动画 :显示了 something在屏幕上移动。注:这种类型的动画是“ 开始后不处理” - 你不能获取任何有关物体在动画中的信息(如当前的位置) 。如果您需要此信息,您会手动使用定时器去调整动画的 X 和 Y 坐标这个
14、需要导入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; theAni
15、mation.repeatCount=2; theAnimation.autoreverses=YES; theAnimation.fromValue=NSNumber numberWithFloat:0; theAnimation.toValue=NSNumber numberWithFloat:-60; view.layer addAnimation:theAnimation forKey:animateLayer; Draggable items/拖动项目Heres how to create a simple draggable image./这是如何生成一个简单的拖动图象1. Cre
16、ate 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 检索接触点名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - -
17、 - - 名师精心整理 - - - - - - - 第 3 页,共 6 页 - - - - - - - - - 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
18、= 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 = m
19、yDraggableImage 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 thre
20、ad: - (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.
21、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 users Documents folder, and
22、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; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - -
23、- - - - - 名师精心整理 - - - - - - - 第 4 页,共 6 页 - - - - - - - - - myPlistPath = documentsDirectory stringByAppendingPathComponent: NSString stringWithFormat: %.plist, plistName ; myPlistPath retain; / If its not there, copy it from the bundle NSFileManager *fileManger = NSFileManager defaultManager; if (
24、 !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 *documentsDir
25、ectoryPath = 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 value
26、ForKey: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 releas
27、e; Info button Increase the touchable area on the Info button, so its 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
28、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 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 6 页 - - - - - - - - - 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 6 页 - - - - - - - - -