IOS开发技术问题总结(六)
2016-03-20 22:24
459 查看
九、UI动画
1、基础切换动画使用
[UIView beginAnimations:@"animationID" context:nil];[UIView setAnimationDuration:10.5f];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationRepeatAutoreverses:NO];
[UIView
setAnimationTransition:
UIViewAnimationTransitionFlipFromLeft
//
UIViewAnimationTransitionFlipFromRight
// UIViewAnimationTransitionCurlUp
// UIViewAnimationTransitionCurlDown
forView:self.view
cache:YES];
;
[UIView commitAnimations];//提交动画
2、基于UIVIEW的动画
先引入#import <QuartzCore/QuartzCore.h>CATransition*animation =
[CATransition animation];
//animation.delegate = self;
animation.duration =
10.5f;
animation.timingFunction =
UIViewAnimationCurveEaseInOut;
animation.fillMode =
kCAFillModeForwards;
//animation.removedOnCompletion = NO;
animation.type =
kCATransitionPush;
animation.subtype =
kCATransitionFromTop;
;
[self.view.layer
addAnimation:animation
forKey:@"animation"];
//提交动画
十、地理信息
1、初始化地理信息管理对象,并进行简单设置。
CLLocationManager *locManager =[[CLLocationManager alloc]init];
locManager . delegate
= self;//实现代理
locManager .desiredAccuracy =
kCLLocationAccuracyBest;
//设置定位精度
//kCLLocationAccuracyNearestTenMeters
//kCLLocationAccuracyHundredMeters
//kCLLocationAccuracyKilometer
//kCLLocationAccuracyThreeKilometers
locManager . distanceFilter
= 30;//设置目标移动多少米后刷新坐标
[locManager startUpdatingLocation];//开始获得并监控当前的坐标
[locManager stopUpdatingLocation];//停止获得和监控当前的坐标
2、向地图指定坐标添加自定义标签
首先实现标签对象,要求继承MKAnnotation接口,并至少实现以下对象:#import <Foundation/Foundation.h>
#import <MapKit/MKAnnotation.h>
#import <MapKit/MapKit.h>
@interface ZYLMapAnnotation :
NSObject <MKAnnotation>{
CLLocationCoordinate2D coordinate;//添加标签的坐标
NSString *title;//标签的主标题
NSString *subtitle;//标签的小标题
}
@property (nonatomic,
assign)
CLLocationCoordinate2D coordinate;
@property (nonatomic,
copy) NSString
*title;
@property (nonatomic,
copy) NSString
*subtitle;
#import "ZYLMapAnnotation.h"
@implementation ZYLMapAnnotation
@synthesize coordinate,title,subtitle;
-(void)dealloc{
[title release];
[subtitle release];
[super dealloc];
}
@end
进而在适当的类中向地图(MKMapView)添加标签
ZYLMapAnnotation *tMA =
[[ZYLMapAnnotation alloc]
init];
tMA.title =
pTitle;
tMA.subtitle =
pSubtitle;
tMA.coordinate =
pLocation.coordinate;
[map addAnnotation:tMA];
在实现了地图接口MKMapViewDelegate的以下方法,则在添加标签的时候会自动调用并添加自定义的标签
- (MKAnnotationView *)mapView:(MKMapView *)mapView
viewForAnnotation:(id <MKAnnotation>)annotation{
ZYLMapAnnotation*tMa =
(ZYLMapAnnotation*)annotation;
MKAnnotationView* tagView =
[[[MKAnnotationView alloc]
initWithAnnotation:
tMa
reuseIdentifier:nil]
autorelease];
tagView.canShowCallout =
YES;//是否允许弹出气泡
tagView.image =
[UIImage imageNamed:@"当前位置.png"];
tagView.rightCalloutAccessoryView = nil;
tagView.leftCalloutAccessoryView = nil;
//在气泡的左侧或右侧添加高度小于32px,宽度加上标题宽度小于300px的视图,并可以对视图的操作做出响应,一般为动态生成。可以同时在两侧添加,但宽度之和小于300px。
return tagView;
}
相关文章推荐
- IOS开发技术问题总结(五)
- IOS开发技术问题总结(四)
- IOS开发技术问题总结(三)
- IOS开发技术问题总结(二)
- IOS开发技术问题总结(一)
- 远程推送(支持iOS 9)
- iOS多线程编程之Grand Central Dispatch(GCD)介绍和使用
- ios cordova如何加载远程界面?
- 深入解析iOS应用开发中对设计模式中的桥接模式的使用
- iOS ARC下的cycle retain
- iOS App开发中使cell高度自适应的黑魔法详解
- Mac&iOS Socket编程
- iOS开发------实现图片下载缓存到本地
- Xcode免证书打包ipa
- iOS-NSLayoutConstraint(代码约束)
- ios后台搭建 和那些坑
- IOS屏幕适配自动布局教程(一)
- iOS的socket开发基础
- 仿豆果美食tableview的展开和收缩效果
- 笔记-iOS 视图控制器转场详解(上)