一。选择题,20分,10个题
播放音频的类是什么类 AVAudioPlayer;
图像选择控制器(相册选择) UIImagePickerController;
视频播放 MPMoviePlayerController;
触摸,UISwipeGestureRecognizer(滑动手势识别器),UILongPressGestureRecognizer(长按手势识别器),UIPinchGestureRecognizer(缩小手势识别器)
[IOS中的手势一共有六种 :tap(点击),longPress(长按),swipe(挥动),pan(拖动),pich(缩放),rotation(旋转)。这六个手势类都是继承自UIGestureRecognizer]
numberOfTouchesRequired,numberOfTapsRequired 的含义
[@property (nonatomic) NSUInteger numberOfTapsRequired;//设置点击次数,默认为1(单击);
@property (nonatomic) NSUInteger numberOfTouchesRequired;//需要几个点才会响应]
定位方式:Wi-Fi,GPS卫星,蜂窝式移动电话基站,iBeacon微定位
加载地图对应的视图 MKMapView
CL Location,包含的信息:经度,纬度,海拔高度。。。
经度:-180~180;E~W 纬度:-90~90;S~N
加速计:检测设备在X、Y、Z轴上的加速度 (哪个方向有力的作用,哪个方向运动了)
根据加速度数值,就可以判断出在各个方向上的作用力度
二。判断题,10分,5个题
三。简答题
触摸事件的三个基本的。。begin,move,end。。。。
// 点击的时候调用- (void)touchesBegan:(NSSet*)touches withEvent:(nullable UIEvent *)event;
// 点击之后不松手,移动的时候调用- (void)touchesMoved:(NSSet*)touches withEvent:(nullable UIEvent *)event;
// 点击点离开屏幕的时候点用,点击结束- (void)touchesEnded:(NSSet*)touches withEvent:(nullable UIEvent *)event;
// 点击取消的时候调用:比如电话打入- (void)touchesCancelled:(nullable NSSet*)touches withEvent:(nullable UIEvent *)event;
简述定位服务的服Wi-Fi,GPS,蜂窝式移动电话基站,iBeacon微定位
Wi-Fi:通过Wi-Fi路由器的地理位置信息查询,比较省电;
GPS卫星:通过GPS卫星定位,定位最为准确,不能遮挡,但是耗电量大;
蜂窝式移动电话基站:通过移动运营商基站定位;
iBeacon微定位:苹果公司在iOS7 之后支持iBeacon技术,iBeacon技术是由苹果公司研发的,它使用低耗蓝牙技术,通过多个iBeacon基站创建一个信息区域(地理围栏),当设备进入该区域时,相应的应用程序会提示用户进入了这个地理围栏
知道m点的定位信息,怎么定位在地图上
1首先,在MapKitAPI中,显示地图的视图是MKMapView,它的委托协议是MKMapViewDelegate。使用MapKItAPI时,需要导入框架MapKit.framework
2然后,使用Interface Builder, 拖一个Map view对象到View中,进行布局
3用MKCoordinateRegionMakeWithDistance 方法将常用的长和宽数据转化为需要的以度为单位的数据。下面就是将地图的显示范围设置为中心点为经纬度(29.454686,106.529259),南北方向和东西方向均为5km的区域[mapView setRegion:MKCoordinateRegionMakeWithDistance(CLLocationCoordinate2DMake(29.454686, 106.529259), 5000, 5000) animated:YES];
4要在地图上显示用户位置,先设置map view的showsUserLocation属性为Yes
mapView.showsUserLocation = YES;
5以上只是告诉mapView要显示用户位置,但mapView并不知道用户的位置,因此还需要通过CLLocationManager来使用定位服务:创建一个CLLocationManager 的实例,设置它的desiredAccuracy(期望的定位精度)和distanceFilter(距离过滤)属性。为了接收到位置更新的通知,设置代理CLLocationManagerDelegate,并调用startUpdatingLocation方法来注册接收定位更新(调用stopUpdatingLocation取消接收定位更新)
在iOS中,定位服务API主要使用CoreLocation框架,定位时主要使用CL LocationManager,CL LocationManagerDelegate和CL Location这三个类
iOS8后[self.locationManager requestWhenInUseAuthorization];
[self.locationManager requestAlwaysAuthorization];
用户授权,需要手动在info.plist中添加两个键NSLocationAlwaysUsageDescription和NSLocationWhenInUsageDescription,对应文字内容可自定义
列举6个使用GPS定位的移动应用
高德地图;百度地图;搜狗地图;腾讯地图;苹果地图;导航犬;腾讯QQ;微信
传感器在移动开发中的应用有哪些(至少三个)
1重力传感器,手机横竖屏智能切换、拍照照片朝向、重力感应类游戏(如滚钢珠)
2温度传感器,监测手机内部以及电池的温度
3加速度传感器,计步、手机摆放位置朝向角度
4陀螺仪传感器,体感、摇一摇(晃动手机实现一些功能)、平移/转动/移动手机可在游戏中控制视角、VR虚拟现实、在GPS没有信号时(如隧道中)根据物体运动状态实现惯性导航。
简述跑步app的原理(定位更新,路线,步速等)
导入CoreLocation框架 定位服务;
导入MapKit框架 MKMapView视图,显示地图;
开启地图视图showsUserLocation属性,并设置方法setUserTrackingMode: 跟踪用户位置变化
根据位置设定 显示路线;
加速度传感器 记步;
四。1,解释代码含义
------------------------------------------------------------------------
父类子类的关系,3种,公有public,私有private,保护protected(推荐:http://www.cnblogs.com/qlwy/archive/2011/08/25/2153584.html)
在c++中的构造函数
class Counter
{
public:
// 类Counter的构造函数
// 特点:以类名作为函数名,无返回类型
Counter()
{
m_value = 0;
}
private:
// 数据成员
int m_value;
}
构造函数的作用:初始化对象的数据成员。
构造函数可以函数重载,析构函数不能重载
// 一般构造函数(也称重载构造函数)
// 一般构造函数可以有各种参数形式,一个类可以有多个一般构造函数,前提是参数的个数或者类型不同(基于c++的重载函数原理)
// 例如:你还可以写一个 Complex( int num)的构造函数出来
// 创建对象时根据传入的参数不同调用不同的构造函数
Complex(double real, double imag)
{
m_real = real;
m_imag = imag;
}
c语言中,源文件.c;c++中是.cpp;oc中是.m;
class TollgateScene : public Layer{
public:
static Scene * createScene();
virtual bool init();
CREATE_FUNC(TollgateScene);
}
Scene * TollgateScene::createScene()
{
auto scene = Scene::create();
auto layer = TollgateScene::create();
scene->addChild(layer);
return scene;
}
简答题:
类名:classInt
数据:add1;add2;(int类型)
功能:和,差
实现这个类(c++或oc)
new代表什么意思
创建一个cocos2d项目的步骤,终端‘。。。。。。
auto visibleSize = Director::getInstance()->getVisibleSize();
Sprite * m1 = Sprite::create("CloseNormal.png");
m1->setPosition(Point(50,visibleSize.height));
this->addChild(m1);
MoveTo * m1MoveTo = MoveTo::create(2.0f, Point(50,50));
m1->runAction(m1MoveTo);