当前位置:  编程技术>移动开发
本页文章导读:
    ▪旋转木马歪斜效果        旋转木马倾斜效果     self._iCarouse.viewpointOffset=CGSizeMake(0,-250);    self._iCarouse.contentOffset=CGSizeMake(0,-250);其他都不用变,就在viewDidLoad中添加这两句就行了- (void)viewDidLoad{    [super viewDidLoad.........
    ▪ 长按map获取经纬度 添加图钉        长按地图获取经纬度 添加图钉 长按地图获取经纬度引用    UILongPressGestureRecognizer *lpress = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPress:)];    lpress.minimumPressDuration = 0..........
    ▪ Content Provider的施用       Content Provider的使用     Content Providers 是所有应用之间数据存储和检索的一个桥梁,它的作用就是使得各个应用程序之间实现数据共享。如果你想公共自己的私有数据,可以通过创建自己的Con.........

[1]旋转木马歪斜效果
    来源: 互联网  发布时间: 2014-02-18
旋转木马倾斜效果
    self._iCarouse.viewpointOffset=CGSizeMake(0,-250);
    self._iCarouse.contentOffset=CGSizeMake(0,-250);

其他都不用变,就在viewDidLoad中添加这两句就行了





- (void)viewDidLoad
{
    [super viewDidLoad];
    self.navigationController.navigationBarHidden=YES;
    carousel=[[iCarousel alloc]initWithFrame:CGRectMake(0, 0, 320, 460)];
carousel.delegate = self;
    carousel.dataSource = self;
    carousel.type = iCarouselTypeRotary;
    //设置背景图片。
    UIImageView *bgView=[[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)];
    bgView.image=[UIImage imageNamed:@"background_home.png"];
    [self.view addSubview:bgView];
    [self.view addSubview:carousel];
    self.carousel.viewpointOffset=CGSizeMake(0,-250);
    self.carousel.contentOffset=CGSizeMake(0,-250);
   
}

- (NSUInteger)numberOfItemsInCarousel:(iCarousel *)carousel
{
    return 5;
}

- (UIView *)carousel:(iCarousel *)carousel viewForItemAtIndex:(NSUInteger)index
{
    UIView *view = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:[NSString stringWithFormat:@"%d.png",index]]] autorelease];
 
    view.frame = CGRectMake(0, 93, 105, 123);
    return view;
}

- (NSUInteger)numberOfPlaceholdersInCarousel:(iCarousel *)carousel
{
return 0;
}

- (NSUInteger)numberOfVisibleItemsInCarousel:(iCarousel *)carousel
{
    return 5;
}

- (CGFloat)carouselItemWidth:(iCarousel *)carousel
{
    return 150;
}
- (UIView *)itemViewAtIndex:(NSInteger)index{
    UIView *view = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:[NSString stringWithFormat:@"%d.png",index]]] autorelease];
    if (index==0) {
        view.frame=CGRectMake(0, 0, 4, 3);
    }
    if (index==1) {
        view.frame=CGRectMake(0, 0, 114, 113);
    }
    if (index==2) {
        view.frame=CGRectMake(0, 0, 94, 93);
    }
    if (index==3) {
        view.frame=CGRectMake(0, 0, 74, 73);
    }
    else{
        view.frame = CGRectMake(1, 75, 130, 120);
    }
   
    //    view.frame = CGRectMake(0, -500, 320, 800);
    return view;
}
- (CATransform3D)carousel:(iCarousel *)_carousel transformForItemView:(UIView *)view withOffset:(CGFloat)offset
{
    view.alpha = 1.0 - fminf(fmaxf(offset, 0.0), 1.0);
   
    CATransform3D transform = CATransform3DIdentity;
    transform.m34 = self.carousel.perspective;
    transform = CATransform3DRotate(transform, M_PI / 8.0, 0, 1.0, 0);
    return CATransform3DTranslate(transform, 0.0, 0.0, offset * carousel.itemWidth);
}
//这就相当于tableview的点击事件。
- (void)carousel:(iCarousel *)carousel didSelectItemAtIndex:(NSInteger)index{
    NSLog(@"%d",index);
    if (index==1) {//域名查询
        CheckDNS *check=[[CheckDNS alloc]init];
        [self.navigationController pushViewController:check animated:YES]; 
    }
    if (index==2) {//解析管理。
        Jiexiguanli *jiexi=[[Jiexiguanli alloc]initWithNibName:@"Jiexiguanli" bundle:nil];
        [self.navigationController pushViewController:jiexi animated:YES]; 
    }
    if (index==3) {//域名体检
        DomainCheckViewController *domain=[[DomainCheckViewController alloc]init];
        [self.navigationController pushViewController:domain animated:YES]; 
    }
    if (index==4) {//域名咨询。
        InformationViewController *infor=[[InformationViewController alloc]initWithNibName:@"InformationViewController" bundle:nil];
        [self.navigationController pushViewController:infor animated:YES]; 
    }
    if (index==0) {//设置。
        SetViewController *set=[[SetViewController alloc]init];
        [self.navigationController pushViewController:set animated:YES]; 
    }
}



    
[2] 长按map获取经纬度 添加图钉
    来源: 互联网  发布时间: 2014-02-18
长按地图获取经纬度 添加图钉
长按地图获取经纬度
引用


    UILongPressGestureRecognizer *lpress = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPress:)];
    lpress.minimumPressDuration = 0.3;//按0.5秒响应longPress方法
    lpress.allowableMovement = 10.0;
    //给MKMapView加上长按事件
    [mapView addGestureRecognizer:lpress];//mapView是MKMapView的实例
    [lpress release];

- (void)longPress:(UIGestureRecognizer*)gestureRecognizer {
    if (gestureRecognizer.state == UIGestureRecognizerStateBegan){  //这个状态判断很重要
        //坐标转换
        CGPoint touchPoint = [gestureRecognizer locationInView:self.mapView];
        CLLocationCoordinate2D touchMapCoordinate =
        [self.mapView convertPoint:touchPoint toCoordinateFromView:self.mapView];
        //这里的touchMapCoordinate.latitude和touchMapCoordinate.longitude就是你要的经纬度,
        NSLog(@"%f",touchMapCoordinate.latitude);
        NSLog(@"%f",touchMapCoordinate.longitude);
    }
}


长按添加图钉
- (void)longPress:(UIGestureRecognizer*)gestureRecognizer {
    if (gestureRecognizer.state == UIGestureRecognizerStateBegan){  //这个状态判断很重要
        //坐标转换
        CGPoint touchPoint = [gestureRecognizer locationInView:self.mapView];
        CLLocationCoordinate2D touchMapCoordinate =
        [self.mapView convertPoint:touchPoint toCoordinateFromView:self.mapView];
        //这里的touchMapCoordinate.latitude和touchMapCoordinate.longitude就是你要的经纬度,
        NSLog(@"%f",touchMapCoordinate.latitude);
        NSLog(@"%f",touchMapCoordinate.longitude);
        //30.264998 120.122538   30.285012 120.117989
        LocationObject *aLocationObject = [[LocationObject alloc]initWithTitle:@"hello" latitue:touchMapCoordinate.latitude longitude:touchMapCoordinate.longitude];
        aLocationObject._subTitleString = @"world";
        NSMutableArray *_mapAnnotations = [[NSMutableArray alloc]initWithCapacity:1];
        [_mapAnnotations addObject:aLocationObject];
        [self.mapView addAnnotations:_mapAnnotations ];
        [_mapAnnotations release];
        [aLocationObject release];

    }
}


    
[3] Content Provider的施用
    来源: 互联网  发布时间: 2014-02-18
Content Provider的使用

    Content Providers 是所有应用之间数据存储和检索的一个桥梁,它的作用就是使得各个应用程序之间实现数据共享。如果你想公共自己的私有数据,可以通过创建自己的Content Providers类,或者当你对数据拥有控制、写入的权限时将这些数据添加到Content Providers中来实现共享。

    

Uri类简介

       Uri代表了要操作的数据,Uri主要包含了两部分信息:1.需要操作的ContentProvider ,2.对ContentProvider中的什么数据进行操作,一个Uri由以下几部分组成:

       1.scheme:ContentProvider(内容提供者)的scheme已经由Android所规定为:content://。


       2.主机名(或Authority):用于唯一标识这个ContentProvider,外部调用者可以根据这个标识来找到它。


       3.路径(path):可以用来表示我们要操作的数据,路径的构建应根据业务而定,如下:


        • 要操作contact表中id为10的记录,可以构建这样的路径:/contact/10
        • 要操作contact表中id为10的记录的name字段, contact/10/name
        • 要操作contact表中的所有记录,可以构建这样的路径:/contact


要操作的数据不一定来自数据库,也可以是文件等他存储方式,如下:
要操作xml文件中contact节点下的name节点,可以构建这样的路径:/contact/name


如果要把一个字符串转换成Uri,可以使用Uri类中的parse()方法,如下:
Uri uri = Uri.parse("content://com.changcheng.provider.contactprovider/contact")


 

UriMatcher、ContentUrist和ContentResolver简介

 

           因为Uri代表了要操作的数据,所以我们很经常需要解析Uri,并从Uri中获取数据。Android系统提供了两个用于操作Uri的工具类,分别为UriMatcher 和ContentUris 。掌握它们的使用,会便于我们的开发工作。

       UriMatcher:用于匹配Uri,它的用法如下:


       1.首先把你需要匹配Uri路径全部给注册上,如下:
       //常量UriMatcher.NO_MATCH表示不匹配任何路径的返回码(-1)。
       UriMatcher  uriMatcher = new UriMatcher(UriMatcher.NO_MATCH);
       //如果match()方法匹配content://com.changcheng.sqlite.provider.contactprovider/contact路径,返回匹配码为1
       uriMatcher.addURI(“com.changcheng.sqlite.provider.contactprovider”, “contact”, 1);//添加需要匹配uri,如果匹配就会返回匹配码
       //如果match()方法匹配   content://com.changcheng.sqlite.provider.contactprovider/contact/230路径,返回匹配码为2
       uriMatcher.addURI(“com.changcheng.sqlite.provider.contactprovider”, “contact/#”, 2);//#号为通配符
      
       2.注册完需要匹配的Uri后,就可以使用uriMatcher.match(uri)方法对输入的Uri进行匹配,如果匹配就返回匹配码,匹配码是调用addURI()方法传入的第三个参数,假设匹配content://com.changcheng.sqlite.provider.contactprovider/contact路径,返回的匹配码为1。

       ContentUris:用于获取Uri路径后面的ID部分,它有两个比较实用的方法:
           •withAppendedId(uri, id)用于为路径加上ID部分
           •parseId(uri)方法用于从路径中获取ID部分

       ContentResolver:当外部应用需要对ContentProvider中的数据进行添加、删除、修改和查询操作时,可以使用ContentResolver 类来完成,要获取ContentResolver 对象,可以使用Activity提供的getContentResolver()方法。 ContentResolver使用insert、delete、update、query方法,来操作数据。

 

附件是示例代码:


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3