【无限互联】学员作品:面包旅行APP
项目功能介绍:
该app可以查看应用推荐达人的旅行游记,查看旅游的图片文字,以及旅游路线,实时关注各地旅游特价,是出门旅行的得力助手。
项目效果:
首页 :
顶端可以查看最新新闻资讯,下方是推荐达人的旅途游记。
点击单元格会弹出旅游的详情,查看图片,旅游路线。还有评论。
添加列表:
调用了相机,相册。以及表情绘制。
个人中心:
查看自己,以及他人的详细信息。
包括,收藏列表。喜欢列表,关注列表。
实现技术:
首页:
使用AF框架请求数据,
1.在首页创建了一个可以自动滚动,带点击事件的滑动视图,继承SGFocusImageFrame,并且可以实时请求网络图片。
2.在首页使用mmdreamer第三方开源类创建一个左滑控制器,显示视图。
主要代码如下:
SGFocusImageItem *item1 = [[SGFocusImageItemalloc]initWithTitle:nilimage:[UIImageimageNamed:@"1.jpg"]tag:0] ;
SGFocusImageItem *item2 = [[SGFocusImageItemalloc]initWithTitle:nilimage:[UIImageimageNamed:@"2.jpg" ]tag:1] ;
SGFocusImageItem *item3 = [[SGFocusImageItemalloc]initWithTitle:nilimage:[UIImageimageNamed:@"3.jpg" ]tag:2] ;
SGFocusImageItem *item4 =[[SGFocusImageItemalloc]initWithTitle:nilimage:[UIImageimageNamed:@"4.jpg" ]tag:4] ;
SGFocusImageFrame *imageFrame = [[SGFocusImageFramealloc]initWithFrame:CGRectMake(0,0,self.view.bounds.size.width,100.0)
delegate:self
focusImageItems:item1, item2, item3, item4, nil];
2.在旅游详情界面进行排版,正确显示全部图片以及文字内容。实现图片浏览。
3.获取旅游景点,在地图上绘制线路,添加各个地点的大头针,为大头针标注。
4.点击大头针标注会跳转到相应的该景点详情。
绘制直线的主要代码:
- (void)drawLineWithLocationArray:(NSArray *)locationArray
{
int pointCount = [locationArraycount];
CLLocationCoordinate2D *coordinateArray = (CLLocationCoordinate2D *)malloc(pointCount *sizeof(CLLocationCoordinate2D));
for (int i =0; i < pointCount; ++i) {
CLLocation *location = [locationArrayobjectAtIndex:i];
coordinateArray[i] = [locationcoordinate];
}
routeLine = [MKPolylinepolylineWithCoordinates:coordinateArraycount:pointCount];
[mapView1setVisibleMapRect:[routeLineboundingMapRect]];
[mapView1 addOverlay:routeLine];
free(coordinateArray);
coordinateArray = NULL;
}
#pragma mark - MKMapViewDelegate
- (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id)overlay
{
if(overlay == routeLine) {
if(nil == routeLineView) {
routeLineView = [[MKPolylineViewalloc]initWithPolyline:routeLine] ;
routeLineView.fillColor = [UIColorredColor];
routeLineView.strokeColor = [UIColorredColor];
routeLineView.lineWidth =5;
}
returnrouteLineView;
}
return nil;
}
- (void)drawTestLine
{
arrayA = [[NSMutableArrayalloc]init];
for (int i=0; i<_arrayB.count; i++) {
double weiD = [_wei[i]doubleValue];
double jingD = [_jing[i]doubleValue];
CLLocation *location = [[CLLocationalloc]initWithLatitude:weiD longitude:jingD];
[arrayA addObject:location];
}
NSMutableArray *array = arrayA;
[selfdrawLineWithLocationArray:array];
个人中心:
1.个人中心页面,添加新浪的OAuther认证,可以实现APP自带账号与微博账号的登录切换。显示正确的个人详情
2.点击关注,收藏,喜欢按钮 会弹出相应的控制器,关注和收藏列表用tableView显示,关注的单元格点击进去可以查看相应用户的个人详细信息,收藏的单元格点击进去可以弹出到相应的旅游详情界面。 喜欢列表用collectionView实现,可以查看喜欢的图片,图片左右切换,放大缩小。
添加:
创建了3个按钮,可以调用手机相机,相册,绘制一个scrollerView的滑动表情界面。
总结:
通过该项目,锻炼了自己的独立思考以及解决问题的能力,能够发现并找出问题。能够自己实现一些带有逻辑的排版,功能。
可以通过软件抓到数据,拼接,然后分析,请求数据。
能简单使用AF ,mmdreamer,SDWebImage的开源框架。取得新浪微博的认证。
【无限互联】学员作品:面包旅行APP相关推荐
- 无限互联iOS开发视频教程V2.0
原文地址:无限互联iOS开发视频教程V2.0作者:天涯 视频网址: http://www.soku.com/t/nisearch/无限互联/_cid__time__sort_score_display ...
- 连载一: 无限互联——我的学习生活
连载一: 无限互联--我的学习生活 hello!every body.welcome to my e-home. 在这里,我很高兴向大家介绍我最近的学习工作状态. 哈哈!很期待吧. 我最近并没有像 ...
- 面包旅行Android业务设计分析
面包旅行的业务设计不错,Android app也是清晰简洁又大方的样子,所以画了个业务脑图出来. 重要的几个业务特点分析如下: 1.账号绑定社交账号,方便社交推广 2.城市猎人活动,通过内容.时间.地 ...
- 无限互联新浪微博项目(视频)分享
微博项目示例 1 项目演示 http://www.tudou.com/programs/view/FiK1E8IZ_xA/?resourceId=119121756_06_02_99 2 iOS项目 ...
- App设计灵感之十二组精美的旅行App设计案例
有哪些名胜古迹可以去旅行,旅行目的地的食宿如何解决,这些都可以通过旅行 App 来解决.来看看这十二组旅行 App 给你的灵感吧. ① Trip time mobile app screens by ...
- iOS分段选择器、旅行App、标度尺、对对碰小游戏、自定义相册等源码
iOS精选源码 企业级开源项目,模仿艺龙旅行App 标签选择器--LeeTagView CSSegmentedControl常用的分段选择器,简单易用! 仿微信左滑删除 IOS左滑返回 输入框 iOS ...
- 猿团项目实战-仿途牛旅行APP免费视频课程
途牛的产品丰富,性价比高,省心便捷,量身定制,双重保障等优势,让广大热爱旅行的朋友对途牛爱不释手,一有旅行的计划,就会选择上途牛.这让途牛这样的旅行APP开发者们更是觉得旅行APP开发是非常重要的. ...
- 旅行app(游记、攻略、私人定制) | 顺便游旅行H5移动端实例
<顺便游旅行>是一款H5移动端旅行app,提供目的地(国内.国外.周边)搜索.旅游攻略查询.游记分享.私人定制4大模块,类似携程.同程.去哪儿.马蜂窝移动端,只不过顺便游app界面更为简洁 ...
- 企业级旅行App源码、高仿爱鲜蜂源码、iOS Arkit测距源码等
iOS精选源码 用户发布信息的控件,发布评论,发布图片,发布视频 类似YouTube和脸谱网自定义视频效果 使用ARKit创建的贪吃蛇游戏 iOS ARkit 测量距离 源码 Swift高仿爱鲜蜂 一 ...
最新文章
- 爸爸又给Spring MVC生了个弟弟叫Spring WebFlux
- Smart Crop,一种切除 PDF 扫描文档白边的新选择(工程篇)
- 预定义的类型“Microsoft.CSharp.RuntimeBinder.Binder”未定义或未导入
- 3.6.3 无线局域网
- notepad python配置_Notepad++怎么配置python?
- 蓝桥杯真题训练 2019.2题
- HackerRank,一行代码解决输出问题
- Android编程 获取网络连接状态 及调用网络配置界面
- 2款免费的图片压缩工具
- java转账_JAVA实现银行转账功能
- 移动办公应用的需求分析讨论
- 在超市使用室内地图的5个好处
- Django 框架(菜鸟)教程
- Python再次拿第一,我一点都不意外,只是有些事情并非人人都看得清楚
- A Surface Defect Detection Method Based on Positive Samples
- ZHW_AI发布CSDN的模板和要求
- 基于51单片机的贪吃蛇小游戏
- Flask学习笔记(一)
- 11步,教你创建深度学习聊天机器人
- (简单课设)前端小白刚做的一个简单的移动端项目的分享和总结
热门文章
- Ubuntu网络配置(只适用于20版本的)
- transferto方法的应用_NIO的transferTo方法
- 化学试剂DOTA-butyne/azide/NHS/SH/Metz/MAL/(COOt-Bu)3/DBCO
- C# 面向对象编程 (杂1)引用同解决方案下的其他项目,值类型和引用类型,字符串常用方法
- 有关西门子PLC1200故障指示灯提示的使用
- yolov5s 预训练模型_YOLO v5 实现目标检测(参考数据集自制数据集)
- [转载]十六进制数的两种不同表示:0x和H
- 电子邮箱这么玩才叫酷
- 射频滤波器的作用与市场趋势
- 为什么说欧洲是博士的天堂?