小经验

1、设置tableview返回时取消选中状态

- (void)viewWillAppear:(BOOL)animated

{

[super viewWillAppear:animated];

[self.tableview deselectRowAtIndexPath:self.tableview.indexPathForSelectedRow animated:YES];

}

2、设置UIPickerView默认选中

[pickerView selectRow:5 inComponent:0 animated:NO];

3、设置应用电池栏颜色

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackOpaque];

4、检测网络连接状态 (添加SystemConfiguration.framework 和Reachability.h 和Reachability.m)

if (([Reachability reachabilityForInternetConnection].currentReachabilityStatus == NotReachable) &&

([Reachability reachabilityForLocalWiFi].currentReachabilityStatus == NotReachable)) {

NSLog(@"无网络连接");

}

5、图片缩放

UIImage *image = [[UIImage alloc] initWithData:self.activeDownload];

if (image.size.width != kAppIconHeight && image.size.height != kAppIconHeight)

{

CGSize itemSize = CGSizeMake(kAppIconHeight, kAppIconHeight);

UIGraphicsBeginImageContext(itemSize);

CGRect imageRect = CGRectMake(0.0, 0.0, itemSize.width, itemSize.height);

[image drawInRect:imageRect];

self.appRecord.appIcon = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

}

else

{

self.appRecord.appIcon = image;

}

6、设置UIWenview背景透明的方法

webview.backgroundColor = [UIColor clearColor];

webview.opaque = NO;

在 网页里设置:

<body style="

7、js控制UIWebvie

js里:

<script>

function jump()

{

var clicked=true;

window.location="/clicked";     //改变URL  注意:要使用"/"分隔符

alert("js alert :jump");

}

</script>

oc里:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType

{

//获取URL并且做比较,判断是否触发了JS事件,注意有"/"

if ([request.mainDocumentURL.relativePath isEqualToString:@"/clicked"]) {

UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"you click me" message:@"clicked" delegate:nilcancelButtonTitle:@"sure" otherButtonTitles:@"cancel", nil];

[alertView show];

[alertView release];

return false;

}

return  true;

}

8、UIWebview加载本地html

  1. NSString *path = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"];
  2. [self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:path]]];

9、设置UIwebview 缩放系数

UIWebView类没有修改缩放系数的方法,我们只能用HTML代码来做。Meta标签可以设置viewport,而viewport就包含了初始化缩放系数的参数。

META标签如下所示:

<meta name="viewport"content="minimum-scale=0.6; maximum-scale=5;  initial-scale=1; user-scalable=yes; width=640">

可以使用的参数有:

  • minimum-scale:
    允许缩放的最小倍数。默认为0.25,允许值为0-10。
  • maximum-scale:
    运行缩放的最大倍数。默认1.6,允许值为0-10。
  • initial-scale:
    当web页被加载,还未被用户缩放之前默认的缩放系数。默认值是自动根据页面大小和可用区域计算出来的,但这个值最终会在最小倍数到最大倍数之间。
  • user-scalable
    是否运行用户缩放该web页。
  • width:
    viewpoint的宽。默认为980像素(iPhone)。允许值为200-10000 。”device-width”表示设备宽度(iPhone为320,iPad为768)。注意device width不等于用户界面的宽度。设备宽度总是设备处于人像模式下的宽度(屏幕方向为正向)。如果我们想增加web页的最大缩放系数(默认1.6),我们只需要在HTML代码中增加META标签,指定maximum-scale属性即可。你可以直接在HTML源代码中加入META标签。如果web页来自internet并且无法修改HTML源代码,你可以用Javascript代码创建META标签并附加到web页的HTML代码中。读完剩下的内容,你就知道怎么做了。
  • height:
    viewport的高。通常是根据width计算的。

10、点击home键触发AppDelegate.m中的

- (void)applicationWillResignActive:(UIApplication *)application

11、NSData 与NSString 互转

NSData* xmlData = [@"testdata" dataUsingEncoding:NSUTF8StringEncoding];

NSString *result = [[NSString alloc] initWithData:data  encoding:NSUTF8StringEncoding];

12、图片转圆角

效果图

首先导入头文件:#import <QuartzCore/QuartzCore.h>

UIImageView * headerImage = [[UIImageView alloc] initWithFrame:CGRectMake(10.0, 10.0, 64.0, 64.0)];

headerImage.image = contactPhoto;

CALayer * layer = [headerImage layer];

[layer setMasksToBounds:YES];

[layer setCornerRadius:10.0];

[layer setBorderWidth:1.0];

[layer setBorderColor:[[UIColor blackColor] CGColor]];

[contactHeader addSubview:headerImage];

13、將图片保存到相册的代码

UIImageWriteToSavedPhotosAlbum(Uiimage, nil, nil, nil);

14、去掉tableview 的线

[self.tableview setSeparatorStyle:UITableViewCellSeparatorStyleNone];

15、UILable文字加阴影

titleText.shadowColor = [UIColor blackColor];

titleText.shadowOffset = CGSizeMake(0, -1.0);

16、plist文件转NSDictionary

NSBundle *bundle = [NSBundle mainBundle];

//取得文件路径

NSString *plistPath = [bundle pathForResource:@"cityData" ofType:@"plist"];

//读取到一个NSDictionary

cityDictionary = [[NSDictionary alloc] initWithContentsOfFile:plistPath];

17、隐藏tabbar

- (void) hideTabBar:(BOOL) hidden {

[UIView beginAnimations:nil context:NULL];

[UIView setAnimationDuration:0];

for(UIView *view in self.tabBarController.view.subviews)

{

if([view isKindOfClass:[UITabBar class]])

{

if (hidden) {

[view setFrame:CGRectMake(view.frame.origin.x, 480, view.frame.size.width, view.frame.size.height)];

} else {

[view setFrame:CGRectMake(view.frame.origin.x, 480-49, view.frame.size.width, view.frame.size.height)];

}

}

else

{

if (hidden) {

[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 480)];

} else {

[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 480-49)];

}

}

}

[UIView commitAnimations];

}

小经验,布布扣,bubuko.com

时间: 2024-10-25 00:32:38

小经验的相关文章

OC开发学习过程中的一些小经验

1.引入头文件以及框架 :  @import   XXXX         XXXX表示需要引入的文件/框架2.头文件引用循环:两个头文件相互包含时,将其中一个头文件的类用@class引入3.设置边角幅度 :[  XX.layer setCornerRadius:100 ]  ;    XX表示需要设置边角的对象,一般是给按钮设置,边角幅度大小跟最后数字取值关联.4.多个引号处理方法:引号前加\,如果还有括号影响,就再单独用@“ “将其框起来..专业术语叫转义字符.. 5.在UIWebview中

新产品为了效果,做的比较炫,用了很多的图片和JS,所以前端的性能是很大的问题,分篇记录前端性能优化的一些小经验。

第一篇:HTTP服务器 因tomcat处理静态资源的速度比较慢,所以首先想到的就是把所有静态资源(JS,CSS,image,swf) 提到单独的服务器,用更加快速的HTTP服务器,这里选择了nginx了,nginx相比apache,更加轻量级, 配置更加简单,而且nginx不仅仅是高性能的HTTP服务器,还是高性能的反向代理服务器. 目前很多大型网站都使用了nginx,新浪.网易.QQ等都使用了nginx,说明nginx的稳定性和性能还是非常不错的. 1. nginx 安装(linux) htt

Java游戏编程的几个小经验

1.输出图片,最直接的方式是 Image img = Toolkit.getDefaultToolkit().getImage("images/cheer1.jpg"); graphics.drawImage(img, 0, 0, 500, 500, null); 注意:路径是相对于工程根目录的,不是相对于src的 2.深刻理解 repaint()  update()   paint() 三者之间的关系 每一次输出图片,都要先重新获得一次画笔graphics,(通过getGraphic

Android小经验

转载自:http://mp.weixin.qq.com/s?__biz=MzA4MjU5NTY0NA==&mid=404388098&idx=1&sn=8bbbba7692dca68cdda2212dec4d86c0&scene=21#wechat_redirect 今天是冯建同学投稿.总结他在Android开发方面的各种小经验,我认为很有意义,所谓经验丰富有时候是指积累的这些小经验许多,他这篇分享相信会帮助到一些朋友.我也曾推荐过他的 APK魔鬼瘦身 一文.没看过的朋友也

开发中各种小经验或技巧

1.js.jsp种判断list长度 js  :  list.length jsp: <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>            list的长度是:${fn:le

那些小经验

(1) A. ? 1 2 3 4 <input type="radio" name="bank"> <label>       <img src="..." alt=""> </label> input和lable自然对齐,label高度显然没有包裹img,如果给img设置vertical-align:middle.则label就会在img垂直中心,input和lable本来就会

关于achartengine的使用一些小经验

最近项目上要使用图表,便开始在网上找各种图表架包,好看的都是收费的,最后还是决定用google的achartengine.achartengine使用起来还算好,就是修改样式很烦.下面就分享下开发经验吧.所有的chart都分两块,一块是Renderer(如XYMultipleSeriesRenderer,我的理解是,这个renderer为视图render的模板,就是你想用什么图标,一个图图表基本分2层,这个是最下面一层),一块是Dataset(如XYMultipleSeriesDataset,用

Android开发的16条小经验总结

Android开发的16条小经验总结,希望对各位搞Android开发的朋友有所帮助. 1. TextView中的getTextSize返回值是以像素(px)为单位的, 而setTextSize()是以sp为单位的. 所以如果直接用返回的值来设置会出错,解决办法是用setTextSize()的另外一种形式,可以指定单位: setTextSize(int unit, int size)    TypedValue.COMPLEX_UNIT_PX : Pixels    TypedValue.COMP

php小经验:解析preg_match与preg_match_all 函数

php小经验:解析preg_match与preg_match_all 函数 本篇文章是对php中的preg_match函数与preg_match_all函数进行了详细的分析介绍,需要的朋友参考下 正则表达式在 PHP 中的应用在 PHP 应用中,正则表达式主要用于:•正则匹配:根据正则表达式匹配相应的内容•正则替换:根据正则表达式匹配内容并替换•正则分割:根据正则表达式分割字符串在 PHP 中有两类正则表达式函数,一类是 Perl 兼容正则表达式函数,一类是 POSIX 扩展正则表达式函数.二者