快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

ios开发demo,ios开发的软件

IOS开发过程中经常见到Demo,不知Demo到底是什么意思?求详解。

简单的模子。就是不需要实现细节,给别人看一个大致轮廓的东西。还有一层意思是很多功能中的一个,单独拿出来实现。

创新互联主要从事成都网站建设、网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务青河,十多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:028-86922220

iOS开发,方法和block的结合使用,写个小demo

使用Block的地方很多,其中传值只是其中的一小部分,下面介绍Block在两个界面之间的传值:

先说一下思想:

首先,创建两个视图控制器,在第一个视图控制器中创建一个UILabel和一个UIButton,其中UILabel是为了显示第二个视图控制器传过来的字符串,UIButton是为了push到第二个界面。

第二个界面的只有一个UITextField,是为了输入文字,当输入文字,并且返回第一个界面的时候,当第二个视图将要消失的时候,就将第二个界面上TextFiled中的文字传给第一个界面,并且显示在UILabel上。

其实核心代码就几行代码:

下面是主要代码:(因为我是用storyBoard创建的工程,所以上面的属性和相应的方法,是使用系统生成的outlet)

一、在第二个视图控制器的.h文件中定义声明Block属性

?

1

2

3

4

5

6

7

8

9

typedef void (^ReturnTextBlock)(NSString *showText);

@interface TextFieldViewController : UIViewController

@property (nonatomic, copy) ReturnTextBlock returnTextBlock;

- (void)returnText:(ReturnTextBlock)block;

@end

第一行代码是为要声明的Block重新定义了一个名字

?

1

ReturnTextBlock

这样,下面在使用的时候就会很方便。

第三行是定义的一个Block属性

第四行是一个在第一个界面传进来一个Block语句块的函数,不用也可以,不过加上会减少代码的书写量

二、实现第二个视图控制器的方法

?

1

2

3

4

5

6

7

8

9

- (void)returnText:(ReturnTextBlock)block {

self.returnTextBlock = block;

}

- (void)viewWillDisappear:(BOOL)animated {

if (self.returnTextBlock != nil) {

self.returnTextBlock(self.inputTF.text);

}

}

其中inputTF是视图中的UITextField。

第一个方法就是定义的那个方法,把传进来的Block语句块保存到本类的实例变量returnTextBlock(.h中定义的属性)中,然后寻找一个时机调用,而这个时机就是上面说到的,当视图将要消失的时候,需要重写:

?

1

- (void)viewWillDisappear:(BOOL)animated;

方法。

三、在第一个视图中获得第二个视图控制器,并且用第二个视图控制器来调用定义的属性

如下方法中书写:

?

1

2

3

4

5

6

7

8

9

10

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender

{

// Get the new view controller using [segue destinationViewController].

// Pass the selected object to the new view controller.

TextFieldViewController *tfVC = segue.destinationViewController;

[tfVC returnText:^(NSString *showText) {

self.showLabel.text = showText;

}];

}

如何在10分钟内为iOS app创建GIF Demo

第1步:为你的应用程序添加finger tips

制作demo时最重要的事情就是引导用户,这样他们就知道在什么地方与应用进行互动,他们希望应用能够在屏幕上导航。(我第一次是在Kevin Systrom的Instagram keynote上看到的)。

这一步并不难实现,可以通过GitHub上的开源项目完成(你也可以观看Apple TV上的现场演示。)

“Fingertips是一个小型库(一个类),可以演示iOS设备上所有触控和手势。”

只需两步,就可以让你的应用程序活起来。你需要做的就是:

1、把以下代码添加到你的Podfile中(希望你使用了Cocoapods):

pod 'Fingertips'

2、把下面5行代码添加到AppDelegate的didFinishLaunchingWithOptions中:

UIViewController *vc = self.window.rootViewController;

CGRect frame = [[UIScreen mainScreen] bounds];

self.window = [[MBFingerTipWindow alloc] initWithFrame:frame];

self.window.rootViewController = vc;

[self.window makeKeyAndVisible];

• 不要忘了#import

现在Air Mirroring你的app,你就可以发现一个超酷的触控指示圈:

第2步:录制一个简短的演示视频

记录真实设备屏幕的最好的方法是使用Reflector(13美元)。这是我个人最喜欢的。

它使用Air Mirror显示Mac上的iOS设备,并支持屏幕记录。

你可以选择是否展示frame以及使用哪个设备。

使用CMD+ R开始和停止录制。

第3步:把视频转换成GIF

下一步就是使用GIF Brewery(Mac App Store售价5美元)把演示视频转换为GIF。

有了这个工具,你只需选择开始和结束时间,这样就可以创建GIF。

你可以通过预览来决定是否要缩短或者加长视频时间。

通过这些步骤,你可以快速高效地为iOS应用创建一个demo。当然也有其它方法,我只是介绍一个我知道的,可以用来制作一个简洁简单直观demo的方式。

IOS开发过程中经常见到Demo,不知Demo到底是什么意思,求详解。

就是 代码的例子。比如说你有不会用的控件,从网上下载这个控件的demo 照着敲两遍,在理解一下它的意思,就会了。

iOS基础-小Demo--刮开涂层(刮刮乐效果)

总结一个小的Demo,先看效果图.

UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(7, 50, 400, 400)];

label.text = @"离思五首\n元稹\n曾经沧海难为水,\n除却巫山不是云!\n取次花丛懒回顾,\n半缘修道半缘君!\n";

label.numberOfLines = 0;

label.backgroundColor = [UIColor colorWithRed:(arc4random()%173)/346.0 + 0.5 green:(arc4random()%173)/346.0 + 0.5 blue:(arc4random()%173)/346.0 + 0.5 alpha: 1];

label.font = [UIFont systemFontOfSize:30];

label.textAlignment = NSTextAlignmentCenter;

[self.view addSubview:label];

iOS开发-iCloud环境配置及使用

配置iCloud,首先你就先要有一个真实的苹果开发者账号,没错,就是一年688的那个。开通了之后,在Xcode中新建一个项目。然后在 TARGETS - Capabilities - iCloud 中打开开关就可以了。

就像这样,是不是很简单啊。

诶,可是好像有什么地方不对,有些地方爆红了。

这是因为我们还没有给这个App ID 注册,所以接下来我们去苹果的 开发者官网 添加一个App ID,在添加的时候勾选 iCloud 服务就可以啦。

什么?你说你已经创建过App ID了???没关系,在管理App ID这边选择 Edit ,然后在勾选 iCloud 也是一样的。

这时候回到Xcode中在看一下,应该就已经没有爆红了吧。

什么???还有爆红??? 那你重启一下XCode试试吧。再不行,你重启一下电脑试试好了。

在Xcode中 iCloud 下边一共有三个可以勾选的服务,其中第一个就是 key-value storage ,这个也是最简单的 iCloud 使用方法了,他跟 NSUserDefaults 的使用方法基本一样,都是以键值对的方式存储数据。只不过处理iCloud的类为 NSUbiquitousKeyValueStore 。

存储数据的方式很简单,只要使用 setObject:forkey: 之后,使用 synchronize 同步一下就可以了。

获取数据的方式也一样,是要使用 objectForKey 就可以了。

看一下 NSUbiquitousKeyValueStore 的头文件,我们发现他还有一个通知消息

注册这个通知,就可以在数据修改的时候接收到通知,然后做对应的处理。最好的验证方法就是在存储了数据之后直接删除掉这个app,然后再次安装,这个时候就会触发该通知。

先放一下demo的[ 地址 。

以上就是关于配置iCloud和key-value存储的简单使用,后边我们再看看其他两种服务是怎么样使用的。

相较于key-value的存储类型,Documents是用来管理一些比较大的文件,比如用户创建的文档等等。

在我们打开iCloud选项的时候,系统就是自动为我们添加一个 xxx.entitlements 的文件,这个东西用来保证应用的安全性,确保只有你的应用才能访问你自己创建的文档,系统也是依赖于他来区分用户的iCloud账户中每个应用的文档。

查看这个 xxx.entitlements 我们会发现在他里边有这样的一个key Ubiquity Container Identifiers ,对应的value为 iCloud.$(CFBundleIdentifier) 。其实这个 $(CFBundleIdentifier) 就代表这你的APP ID。所以也可以看成是 iCloud.com.zzr.ZZRiCloudDemo 。

NSFileManager 主要是对文件的操作,我们用它来获取iCloud的存储地址。

根据我们的entitlements,通过 NSFileManager 就可以获得iCloud的存储地址,在获取地址之后,我们要先判断一下获取的地址是否为空,如果这个地址为空,则说明用户的iCloud暂时不可用,接下来一切的操作都没办法进行下去。

UIDocument 主要是用于对文件内容的操作。

其实获取了文件的地址之后,我们已经可以直接对文件进行操作了,但是官方还是让我们通过 UIDocument 来操作,因为当我们在对iCloud进行操作的时候,不止是只有我们自己对他进行操作, iCloud daemon 也会对iCloud操作,用 UIDocument 操作能够保证存取安全。

在使用 UIDocument 之前,我们新建一个类,继承于 UIDocument ,并且重写两个方法:

NSMetadataQuery 主要用来查询数据。

有了之前的准备工作,创建一个文档就非常简单了,只要创建好我们要保存的文件,通过

就可以将文档上传到iCloud中了。

我们以一个txt文件作为示范。

修改文档,其实就是重写文档,就是将上边创建文档中的 UIDocumentSaveForCreating 改为 UIDocumentSaveForOverwriting 。

删除文档其实就是通过之前的地址获取到文件,然后调用remove方法即可。

之前讲了增加、删除、修改,好像增删改查中只剩下查询这个方法没有介绍了。查询和前边几个有点不同,他需要用到 NSMetadataQuery 。

直接调用 startQuery 开始查询,iCloud就已经开始帮我们查询了,查询好之后,iCloud会通过通知来告诉我们查询到了东西。

所以我们注册两个通知

并相应他们

其中

就是查询到的内容的数组,遍历他,就可以获取到对应目录下的全部文件了。

先放一下demo的 地址 。

demo简单的制作了一个text文档的存储功能,一些交互没有完善,但是基本的增删改查功能都已经实现了。

以上就是 iCloud Document 的简单使用。此文章仅供个人学习使用,如有不当,希望大佬指出。


分享文章:ios开发demo,ios开发的软件
文章分享:http://6mz.cn/article/dsdecoh.html

其他资讯