1、当navigationController添加了自定返回按钮时,向右滑动返回手势会失效,恢复方法
实现代理:UIGestureRecognizerDelegate
self.navigationController.interactivePopGestureRecognizer.delegate = self;
- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer
{
if(self.navigationController.viewControllers.count==1)
{
returnNO;
}else{
returnYES;
}
}
1、围绕中心点旋转
CGAffineTransform endAngle = CGAffineTransformMakeRotation(angle * (M_PI / 180.0f));
[UIViewanimateWithDuration:0.01delay:0options:UIViewAnimationOptionCurveLinearanimations:^{
_pointImageView.layer.anchorPoint = CGPointMake(0.5f,0.048245f);//围绕点
_pointImageView.layer.position = CGPointMake(160, 37+5);//位置</span>
_pointImageView.transform = endAngle;
} completion:^(BOOL finished) {
angle += 10; [selfstartAnimation];
}];
1、iphone获取本地号码
步骤如下:
1)导入CoreTelephony这个private framework
2)在xxx.m中加入红字部分:
#import "xxx.h"
extern NSString *CTSettingCopyMyPhoneNumber();
@implementation
+(NSString *)myNumber{
return CTSettingCopyMyPhoneNumber();
}
@end
3)在其它地方调用NSLog(@"myNumber=%@",[xxx myNumber]);即是本机号码
1、设置tableview返回时取消选中状态
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[self.tableviewdeselectRowAtIndexPath:self.tableview.indexPathForSelectedRowanimated:YES];
}
2、设置UIPickerView默认选中
[pickerViewselectRow:5inComponent:0animated:NO];
3、设置应用电池栏颜色
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackOpaque];
4、检测网络连接状态 (添加SystemConfiguration.framework 和Reachability.h 和Reachability.m)
if (([ReachabilityreachabilityForInternetConnection].currentReachabilityStatus == NotReachable) &&
([ReachabilityreachabilityForLocalWiFi].currentReachabilityStatus == NotReachable)) {
NSLog(@"无网络连接");
}
5、图片缩放
UIImage *image = [[UIImagealloc] 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="background-color: transparent">
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.relativePathisEqualToString:@"/clicked"]) {
UIAlertView *alertView = [[UIAlertViewalloc] initWithTitle:@"you click me"message:@"clicked"delegate:nilcancelButtonTitle:@"sure"otherButtonTitles:@"cancel", nil];
[alertView show];
[alertView release];
return false;
}
return true;
}
8、UIWebview加载本地html
- NSString *path = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"];
- [self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:path]]];
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计算的。
- (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.tableviewsetSeparatorStyle:UITableViewCellSeparatorStyleNone];
15、UILable文字加阴影
titleText.shadowColor = [UIColorblackColor];
titleText.shadowOffset = CGSizeMake(0, -1.0);
16、plist文件转NSDictionary
NSBundle *bundle = [NSBundle mainBundle];
//取得文件路径
NSString *plistPath = [bundle pathForResource:@"cityData" ofType:@"plist"];
//读取到一个NSDictionary
cityDictionary = [[NSDictionaryalloc] initWithContentsOfFile:plistPath];
17、隐藏tabbar
- (void) hideTabBar:(BOOL) hidden {
[UIViewbeginAnimations:nilcontext:NULL];
[UIViewsetAnimationDuration:0];
for(UIView *view inself.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)];
}
}
}
[UIViewcommitAnimations];
}
18、 设置leftBarButtonItem的位置
UIBarButtonItem *negativeSpacer = [[UIBarButtonItemalloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpacetarget:nilaction:nil];
negativeSpacer.width = -10;
self.navigationItem.leftBarButtonItems =[NSArray arrayWithObjects:negativeSpacer,[ViewUitls getUIBarButtonItem:[UIImage imageNamed:@"review_top_btn"] target:self action:@selector(goToNotice)], nil] ;
19、UINavigationController 回退两级
int index=[[self.navigationController viewControllers]indexOfObject:self];
[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:index-2]animated:YES];
相关推荐
iOS开发是一个充满挑战和创新的领域,本文将分享我在iOS开发的项目实战中所积累的经验,并提供相关的练习,希望能够为初学者提供有价值的参考。 项目实战经验 1. 项目规划与设计 在iOS开发中,良好的项目规划和...
在iOS开发领域,"幸运积分转盘"是一种常见的互动元素,通常用于增加用户参与度和激励用户积累积分。这样的功能可以提升用户体验,使用户在应用中感到更加兴奋和期待。"积分转盘"的设计和实现涉及到多个技术点,主要...
在iOS开发中,提升效率和优化应用性能是开发者们永恒的主题。本文主要分享了两个实用的小技巧,旨在帮助iOS开发者更好地管理和优化他们的应用程序。 首先,我们来看如何让app在后台持续运行一段时间。在iOS系统中,...
### iOS开发工具与项目实践 #### 一、概述 在iOS开发领域,掌握正确的工具和技术对于...通过以上项目的实践,开发者不仅可以加深对iOS开发基础知识的理解,还能积累实际项目经验,为未来的开发工作打下坚实的基础。
《iOS6开发进阶与实战源码》是一个针对苹果iOS6平台深入学习和实践的资源集合,主要面向已经掌握基础iOS开发的开发者,旨在提升他们的技能并提供实战经验。这个资源包,名为"MoreiOS6Development-master",包含了...
### iOS开发入门学习路线介绍 随着移动互联网的快速发展,iOS应用开发成为了许多开发者追求的目标之一。iOS平台以其高质量的应用生态和稳定的系统环境受到广大用户的喜爱。对于初学者来说,掌握正确的学习路径至关...
### 零基础iOS和Swift开发全套视频知识点详解 #### 一、基础知识介绍 - **Swift语言概述**: - Swift是由苹果公司于2014年WWDC上首次发布的一种编程语言,它是为了替代Objective-C而设计的,旨在提高安全性、效率...
在Swift iOS开发中,优化是确保应用程序性能的关键环节。这里我们关注的是在开发过程中积累的一些程序优化工具。这些工具和技巧旨在提升UI响应速度、优化内存管理、改善代码执行效率,以及更好地控制线程和定时器。...
《iOS实例开发:深入解析PhotoAppLink for iOS》 在iOS应用开发中,掌握实际案例的实现技巧至关重要,尤其对于新手开发者来说,通过实例学习能够更直观地...在实践中不断学习和积累,才能在iOS开发的道路上更进一步。
UI设计是iOS开发中的另一个关键环节。UIKit框架提供了大量控件和布局工具,如UILabel、UIButton、UITableView等,开发者应熟悉它们的用法,并能结合Auto Layout和Size Classes实现响应式布局。此外,学习使用动画和...
随着经验的积累,开发者将能够创建功能丰富的iOS应用,并且掌握如何利用Apple提供的各种框架和服务来提升用户体验。 总之,"精通iOS开发源文件"这个教程通过"Hello World"这个经典的入门示例,为初学者提供了一个...
### iOS开发Git在Xcode开发环境下的使用 #### Git简介 Git是一种分布式版本控制系统,它允许开发者们在软件开发过程中追踪代码的...随着实践经验的积累,您可以进一步探索Git更高级的功能,如分支管理、合并冲突等。
在iOS开发中,实现平滑的手绘功能是一个常见的需求,特别是在设计绘画应用或者需要用户进行自由涂鸦的场景下。本篇文章将详细讲解如何在iOS平台上实现一个简单的手绘功能,以及涉及到的关键技术和代码实现。 首先,...
总的来说,这个实战教程是提升iOS开发能力的宝贵资源,它将帮助你积累实战经验,掌握iOS开发的各个环节,从而在iOS开发的世界中游刃有余。无论是新手还是有一定基础的开发者,都能从中受益匪浅,不断成长。
其次,Xcode是iOS开发的官方集成开发环境(IDE),它集成了代码编辑器、调试器、模拟器等功能,为开发者提供了一站式的开发体验。通过Xcode,你可以创建项目、编写代码、测试应用并进行调试,最后将应用打包发布到...
在iOS开发中,经验与技巧的积累对于提升项目的质量和效率至关重要。本文将分享一些资深iOS开发者在实践中总结的关键知识点。 首先,我们来讨论内存管理。在iOS开发中,内存管理是优化应用性能的关键。特别是在涉及...
- **Xcode**:作为iOS开发的主要工具,Xcode提供了集成开发环境,涵盖了项目管理、代码编辑、调试、测试、版本控制和发布等功能。你可以通过Xcode创建工程,添加用户界面元素,并编写Objective-C代码。 2. **语言*...
在MDCC 2015中国移动开发者大会上,iOS开发专家王猛发表了主题为...通过动手实践,学习优秀案例,理解社区资源,重视UI/UX,以及不断的技术沉淀,开发者可以在学习iOS开发的过程中快速成长,最终成为该领域的专家。
### iOS开发快速入门知识点 #### 一、iOS开发概述 - **定义与背景**:iOS是苹果公司为iPhone和iPad等设备开发的操作系统。iOS以其流畅的用户体验、强大的硬件支持和丰富的应用程序生态著称。 - **开发语言**:主要...