ios开发

IOS开发实训第九周周报

吃可爱长大的小学妹 提交于 2020-01-30 04:49:51
IOS开发实训第九周周报 总结: 根据小组分工,本周我学习的知识点有: (1)页面的跳转方式 (2)页面间传值方式 学习知识点归纳 1. 页面跳转的方式 (1)UITableBarController(标签栏控制器)中的界面跳转 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds]; //创建标签栏控制器tabBarController UITabBarController *tabBarController = [[UITabBarController alloc] init]; //初始化firstView和secondView FirstViewController *firstView = [[FirstViewController alloc] init]; SecondViewController *secondView = [[SecondViewController alloc]init]; //添加子视图控制器firstView和secondView

IOS开发实训第十三周周报

戏子无情 提交于 2020-01-30 04:38:48
IOS开发实训第十三周周报 总结: 目前服务器部分已完成并投入使用,组内其他成员的工作也基本完成,进入测试阶段,在最后一次周内,我计划了解ios app的整体架构,以使自己对它的了解更加深刻; 学习知识点归纳 1、ios的层次架构: iOS为应用程序开发提供了许多可使用的框架,并构成IOS操作系统的层次架构,分为四层,从上到下依次为:Cocoa Touch Layer(触摸UI层)、MediaLayer(媒体层)、Core Services Layer(核心服务层)、Core OS Layer(核心OS层)。 低层次框架提供IOS的基本服务和技术,高层次框架建立在低层次框架之上用来提供更加复杂的服务和技术,较高级的框架向较低级的结构提供面向对象的抽象。 2、两个基本框架: Foundation和 UIKit框架是应用编程用到的两个主要的框架; UIKit框架提供的类,用于创建基于触摸的用户界面。所有 iOS 应用程序都是基于 UIKit, 没有这个框架,就无法交付应用程序。UIKit提供应用程序的基础架构,用于在屏幕上绘图、处理事件,以及创建通用用户界面及其中元素。UIKit还通过管理屏幕上显示的内容,来组织应用程序。 Foundation框架为所有应用程序提供基本的系统服务。应用程序以及 UIKit和其他框架,都是建立在 Foundation 框架的基础结构之上。

iOS开发自定义流水布局

耗尽温柔 提交于 2020-01-29 15:06:56
//集成UICollectionViewFlowLayout 自己写的布局 // SJBFlowLayout.m // 自定义流水布局 // // Created by zyyt on 16/7/20. // Copyright © 2016年 sjb. All rights reserved. // #import "SJBFlowLayout.h" /*******分割线*******分割线********分割线*******分割线 *********分割线*********分割线***********/ @implementation SJBFlowLayout /** //告诉布局对象去更像布局 Tells the layout object to update the current layout. Layout updates occur the first time the collection view presents its content and whenever the layout is invalidated explicitly or implicitly because of a change to the view. //在布局每一次更新的时候,collection都会唤醒这个方法 During each layout update, the

IOS项目目录结构和开发流程

倾然丶 夕夏残阳落幕 提交于 2020-01-29 03:51:18
网上相关的资源不多,开源的且质量还不错的iOS项目也是少之又少,最近正好跟同事合作了一个iOS项目,来说说自己的一些想法。 目录结构 AppDelegate Models Macro General Helpers Vendors Sections Resources 一个合理的目录结构首先应该是清晰的,让人一眼看上去就能大概了解目录的职责,且容易应对新的变化。 AppDelegate 这个目录下放的是AppDelegate.h(.m)文件,是整个应用的入口文件,所以单独拿出来。 Models 这个目录下放一些与数据相关的Model文件,里面大概是这样: Models |- BaseModel.h |- BaseModel.m |- CollectionModel.h |- CollectionModel.m ... Macro 这个目录下放了整个应用会用到的宏定义,里面大概是这样: Macro |- AppMacro.h |- NotificationMacro.h |- VendorMacro.h |- UtilsMacro.h ... AppMacro.h 里放app相关的宏定义,如: // 表情相关 #define EMOTION_CACHE_PATH @"cachedemotions" #define EMOTION_RECENT_USED @

IOS项目目录结构和开发流程

China☆狼群 提交于 2020-01-28 07:56:51
网上相关的资源不多,开源的且质量还不错的iOS项目也是少之又少,最近正好跟同事合作了一个iOS项目,来说说自己的一些想法。 目录结构 AppDelegate Models Macro General Helpers Vendors Sections Resources 一个合理的目录结构首先应该是清晰的,让人一眼看上去就能大概了解目录的职责,且容易应对新的变化。 AppDelegate 这个目录下放的是AppDelegate.h(.m)文件,是整个应用的入口文件,所以单独拿出来。 Models 这个目录下放一些与数据相关的Model文件,里面大概是这样: Models |- BaseModel.h |- BaseModel.m |- CollectionModel.h |- CollectionModel.m ... Macro 这个目录下放了整个应用会用到的宏定义,里面大概是这样: Macro |- AppMacro.h |- NotificationMacro.h |- VendorMacro.h |- UtilsMacro.h ... AppMacro.h 里放app相关的宏定义,如: // 表情相关 #define EMOTION_CACHE_PATH @"cachedemotions" #define EMOTION_RECENT_USED @

iOS开发数据库篇—SQLite常用的函数

会有一股神秘感。 提交于 2020-01-27 05:39:45
iOS开发数据库篇—SQLite常用的函数 一、简单说明 1.打开数据库 int sqlite3_open( const char *filename, // 数据库的文件路径 sqlite3 **ppDb // 数据库实例 ); 2.执行任何SQL语句 int sqlite3_exec( sqlite3*, // 一个打开的数据库实例 const char *sql, // 需要执行的SQL语句 int (*callback)(void*,int,char**,char**), // SQL语句执行完毕后的回调 void *, // 回调函数的第1个参数 char **errmsg // 错误信息 ); 3.检查SQL语句的合法性(查询前的准备) int sqlite3_prepare_v2( sqlite3 *db, // 数据库实例 const char *zSql, // 需要检查的SQL语句 int nByte, // SQL语句的最大字节长度 sqlite3_stmt **ppStmt, // sqlite3_stmt实例,用来获得数据库数据 const char **pzTail ); 4.查询一行数据 int sqlite3_step(sqlite3_stmt*); // 如果查询到一行数据,就会返回SQLITE_ROW 5.利用stmt获得某一字段的值

iOS开发之抽屉效果实现

☆樱花仙子☆ 提交于 2020-01-27 04:55:25
  说道抽屉效果在iOS中比较有名的第三方类库就是PPRevealSideViewController。一说到第三方类库就自然而然的想到我们的CocoaPods,今天的博客中用CocoaPods引入PPRevealSideViewController,然后在我们的工程中以代码结合storyboard来做出抽屉效果。   一.在工程中用CocoaPods引入第三方插件PPRevealSideViewController.     (1).在终端中搜索PPRevealSideViewController的版本        (2).在Podfile中添加相应的版本库     (3).之后保存一下Podfile文件,然后执行pod install即可   二、为我们的工程添加pch文件     因为用的是XCode6, 上面默认是没有pch文件的,如果我们想使用pch文件,需要手动添加,添加步骤如下     1.在XCode6中是么有pch文件的,如下图     2.创建pch文件          3.配置pch文件       (1)、找工程的Targets->Build Settings->Apple LLVM 6.0 - Language         (2)在Prefix Header下面的Debug和Release下添加$(SRCROOT)/工程名/pch文件,入下图   

iOS开发之生成二维码

烂漫一生 提交于 2020-01-26 14:30:08
一、二维码的生成 从iOS7开始集成了二维码的生成和读取功能 此前被广泛使用的zbarsdk目前不支持64位处理器 1.二维码的内容(传统的条形码只能放数字) 纯文本 名片 URL 2.生成二维码的步骤: 导入CoreImage框架(Xcode6.4居然不用导入) 通过滤镜CIFilter生成二维码 // 1.创建过滤器 CIFilter * filter = [ CIFilter filterWithName :@ "CIQRCodeGenerator" ]; // 2.恢复默认 [ filter setDefaults ]; // 3.给过滤器添加数据 NSString * dataString = @ "http://www.520it.com" ; NSData * data = [ dataString dataUsingEncoding : NSUTF8StringEncoding ]; // 4.通过KVO设置滤镜inputMessage数据 [ filter setValue : data forKeyPath :@ "inputMessage" ]; // 4.获取输出的二维码 CIImage * outputImage = [ filter outputImage ]; // 5.将CIImage转换成UIImage,并放大显示 self . imageView

ios开发--高德地图SDK使用简介

喜夏-厌秋 提交于 2020-01-26 07:29:46
高德LBS开放平台将高德最专业的定位、地图、搜索、导航等能力,以API、SDK等形式向广大开发者免费开放。本章节我们来简单学习一下如何使用它的定位及地图SDK。 一、相关框架及环境配置 地图SDK 对于如何下载SDK,它的官方文档提供了很详细的说明,使用CocoaPods。如果你没有安装CocoaPods,也可以在它的官网直接下载。 接下来只需要将SDK引入工程,完成相关的环境配置即可。在它的官方文档中有详细说明,这里就不重复了。 地图SDK文档 定位SDK 高德 iOS 定位 SDK 提供了不依赖于地图定位的定位功能,开发者可以无地图显示的场景中便捷地为应用程序添加定位功能。它的定位 SDK中提供的持续定位功能与地图功能分离。同样我们先下载SDK。 由于定位与地图是不同的SDK所以一定要记得设置两次用户Key。 另外需要特别注意的是,在官方文档中对于 TARGETS-Build Settings-Architectures的环境配置,在定位和地图SDK是不同的,但是大家只要设置其中一个就可以了。 定位SDK文档 二、示例代码 引入相关框架,并完成环境配置 在它的官方文档中对于需要什么样的框架有详细的说明,大家根据文档添加。 最后根据文档我们需要设置info.plist文件。 在AppDelegate.m文件中完成apiKey的设置 #import <MAMapKit

IOS开发中的键盘遮挡处理

血红的双手。 提交于 2020-01-26 04:34:43
一、键盘遮挡的场景分类 1. 开始页面录入。输入控件在屏幕的下部,键盘出现后遮挡输入控件 2. 切换焦点。新输入框被当前键盘部分遮挡,可点击 3. 切换输入法。 4. 屏幕旋转。屏幕高度发生变化,原未被遮挡输入框旋转后被遮挡 二、UI需上移的距离计算 计算控件底部与键盘终点顶部的距离,调整阀值自定。通常选择输入控件最近的UIViewController->view作为同一参照 NSDictionary *userInfo = [notification userInfo]; NSValue* aValue = [userInfo objectForKey:UIKeyboardFrameEndUserInfoKey]; CGRect keyboardRect = [aValue CGRectValue]; keyboardRect = [self.view convertRect:keyboardRect fromView:nil]; CGFloat keyboardTop = keyboardRect.origin.y; CGFloat margin = 20;//文本框距键盘顶边最小距离 CGRect textFieldFrame = [self.viewconvertRect:_textFieldCall4Adjust.framefromView: