美文网首页
iOS自定义布满全屏幕的指南针(类似吃鸡类游戏应用的指南针)

iOS自定义布满全屏幕的指南针(类似吃鸡类游戏应用的指南针)

作者: 不会写代码的尬先生 | 来源:发表于2018-04-15 22:42 被阅读0次

好吧,我们老大热衷于在我们的应用中加入一些游戏元素,要我实现这种指南针,喏,就是下面的它:


ezgif.com-resize.gif

这个是根据手机朝向显示方向的哦!

实现原理利用了CLLocationManager的Heading获得手机朝向,然后用一个UIscrollview显示刻度尺,最后根据手机朝向给scrollview设置偏移量setContentOffset,对,就是这么简单,我简单封装了下,拿走用吧,创建很方便。

其实核心代码就下面这些,计算偏移量🤣

#pragma mark - 计算代码
- (void)setDegree:(float)degree
{
    _degree = degree;
    float count = 360.f/self.degreeInterval;//一整个圆周被分割成多少份
    float x = self.calibration*degree/self.degreeInterval + self.calibration/2.f;//myScrollView需要做的偏移量
    x = MIN(x, self.calibration*(count+1));
    if ((self.lastDegree > 350 && degree < 10)||(self.lastDegree < 10 && degree>350))
    {//这里是临界点0度和360度 经过这里的时候会让myScrollView从尾部偷偷滑到头部
        [self.myScrollView setContentOffset:CGPointMake(x, 0)];
    }else
    {
        [UIView animateWithDuration:0.1 animations:^{
            [self.myScrollView setContentOffset:CGPointMake(x, 0)];
        }];
    }
    //记录上一次的角度
    self.lastDegree = degree;
}

这是调用代码

        float w = 224;
        _firstView = [[YLToNorthView alloc] initWithFrame:CGRectMake((SCREEN_WIDTH - w)/2, 100, w, 50)];
        _firstView.backgroundColor  = [UIColor yellowColor];
        _firstView.degr(20).cali(w/10).creat();
        [self.view addSubview:_firstView];

传值

- (void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading
{
    float degreeS = newHeading.magneticHeading;
    NSLog(@"%f",degreeS);
    self.firstView.degree  = degreeS;
}

最后附上GitHub地址ToNorthView
以上。

相关文章

  • iOS自定义布满全屏幕的指南针(类似吃鸡类游戏应用的指南针)

    好吧,我们老大热衷于在我们的应用中加入一些游戏元素,要我实现这种指南针,喏,就是下面的它: 这个是根据手机朝向显示...

  • iOS-CoreLocation文集目录

    CoreLocation应用场景:定位iOS8.0之前的定位iOS8.0定位iOS9.0定位定位总结指南针效果区域...

  • Arcgis runtime for Android 100.5

    (六) 自定义指南针 Arcgis 提供了定位功能,LocationDisplay类 注意定位权限需要动态获取,这...

  • 吃鸡类游戏分析报告

    “吃鸡”类手游分析报告 - 吃鸡类游戏的缘起 - 吃鸡类游戏玩法及其分析 - 手游类吃鸡现状及趋势 一、“吃鸡”类...

  • iOS学习笔记34-加速计和陀螺仪

    一、CoreMotion框架介绍 我们知道有一些iOS的应用,会有一些特殊的要求,比如: 电子罗盘指南针之类的应用...

  • iOS的加速计和陀螺仪

    一、CoreMotion框架介绍 我们知道有一些iOS的应用,会有一些特殊的要求,比如: 电子罗盘指南针之类的应用...

  • 指南针

    指南针使人类获得了自信,从而得到了海上自由。 郑和下西洋无疑是指南针最成功的一次应用。 在郑和之后,指南针在中国最...

  • Xamarin Essentials教程使用指南针Compass

    Xamarin Essentials教程使用指南针Compass 指南针是一种确定地理方向的工具。在手机应用程序中...

  • 认识指南针与新西兰

    一、指南针 1.指南针与磁场 指南针红色是北方。现在制作的指南针统一是按照国际标准,磁针红色端为磁针的N极,也就是...

  • 指南针小组1月活动汇总贴

    1.组内讨论 1.1指南针小组启动会 小生:2016揩油-指南针-启动会 1.2指南针小组第二次讨论 指南针小组 ...

网友评论

      本文标题:iOS自定义布满全屏幕的指南针(类似吃鸡类游戏应用的指南针)

      本文链接:https://www.haomeiwen.com/subject/pxbjkftx.html