使用Block的地方很多,其中傳值只是其中的一小部分,下面介紹Block在兩個界面之間的傳值:

創(chuàng)新互聯(lián)公司2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元伊州做網(wǎng)站,已為上家服務(wù),為伊州各地企業(yè)和個人服務(wù),聯(lián)系電話:028-86922220
先說一下思想:
首先,創(chuàng)建兩個視圖控制器,在第一個視圖控制器中創(chuàng)建一個UILabel和一個UIButton,其中UILabel是為了顯示第二個視圖控制器傳過來的字符串,UIButton是為了push到第二個界面。
第二個界面的只有一個UITextField,是為了輸入文字,當(dāng)輸入文字,并且返回第一個界面的時候,當(dāng)?shù)诙€視圖將要消失的時候,就將第二個界面上TextFiled中的文字傳給第一個界面,并且顯示在UILabel上。
其實核心代碼就幾行代碼:
下面是主要代碼:(因為我是用storyBoard創(chuàng)建的工程,所以上面的屬性和相應(yīng)的方法,是使用系統(tǒng)生成的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屬性
第四行是一個在第一個界面?zhèn)鬟M來一個Block語句塊的函數(shù),不用也可以,不過加上會減少代碼的書寫量
二、實現(xiàn)第二個視圖控制器的方法
?
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中定義的屬性)中,然后尋找一個時機調(diào)用,而這個時機就是上面說到的,當(dāng)視圖將要消失的時候,需要重寫:
?
1
- (void)viewWillDisappear:(BOOL)animated;
方法。
三、在第一個視圖中獲得第二個視圖控制器,并且用第二個視圖控制器來調(diào)用定義的屬性
如下方法中書寫:
?
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;
}];
}
就是 代碼的例子。比如說你有不會用的控件,從網(wǎng)上下載這個控件的demo 照著敲兩遍,在理解一下它的意思,就會了。
簡單的模子。就是不需要實現(xiàn)細節(jié),給別人看一個大致輪廓的東西。還有一層意思是很多功能中的一個,單獨拿出來實現(xiàn)。
第1步:為你的應(yīng)用程序添加finger tips
制作demo時最重要的事情就是引導(dǎo)用戶,這樣他們就知道在什么地方與應(yīng)用進行互動,他們希望應(yīng)用能夠在屏幕上導(dǎo)航。(我第一次是在Kevin Systrom的Instagram keynote上看到的)。
這一步并不難實現(xiàn),可以通過GitHub上的開源項目完成(你也可以觀看Apple TV上的現(xiàn)場演示。)
“Fingertips是一個小型庫(一個類),可以演示iOS設(shè)備上所有觸控和手勢。”
只需兩步,就可以讓你的應(yīng)用程序活起來。你需要做的就是:
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
現(xiàn)在Air Mirroring你的app,你就可以發(fā)現(xiàn)一個超酷的觸控指示圈:
第2步:錄制一個簡短的演示視頻
記錄真實設(shè)備屏幕的最好的方法是使用Reflector(13美元)。這是我個人最喜歡的。
它使用Air Mirror顯示Mac上的iOS設(shè)備,并支持屏幕記錄。
你可以選擇是否展示frame以及使用哪個設(shè)備。
使用CMD+ R開始和停止錄制。
第3步:把視頻轉(zhuǎn)換成GIF
下一步就是使用GIF Brewery(Mac App Store售價5美元)把演示視頻轉(zhuǎn)換為GIF。
有了這個工具,你只需選擇開始和結(jié)束時間,這樣就可以創(chuàng)建GIF。
你可以通過預(yù)覽來決定是否要縮短或者加長視頻時間。
通過這些步驟,你可以快速高效地為iOS應(yīng)用創(chuàng)建一個demo。當(dāng)然也有其它方法,我只是介紹一個我知道的,可以用來制作一個簡潔簡單直觀demo的方式。
網(wǎng)站題目:iosdemo開發(fā),安卓 ios開發(fā)
鏈接地址:http://chinadenli.net/article48/dsiochp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、搜索引擎優(yōu)化、網(wǎng)站排名、網(wǎng)頁設(shè)計公司、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站設(shè)計公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)