自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

小型企業(yè)商務(wù)應(yīng)用程序設(shè)計(jì)及開(kāi)發(fā)系列(1):項(xiàng)目設(shè)置

譯文
移動(dòng)開(kāi)發(fā)
坐擁五十多萬(wàn)應(yīng)用程序陣容的蘋(píng)果App Store令開(kāi)發(fā)人員又愛(ài)又恨——愛(ài)它巨大的客戶群體,卻又恨自己難以在茫?!败洝焙V忻摲f而出。不過(guò)現(xiàn)在好消息來(lái)了,明智的開(kāi)發(fā)人員應(yīng)該迅速抓住這一良機(jī),利用秘密武器在App Store中站穩(wěn)腳跟并取得優(yōu)勢(shì),最終以雷霆萬(wàn)鈞之勢(shì)引爆自己的事業(yè)頂峰。這一秘密武器就是設(shè)計(jì)!

教程說(shuō)明

  • 技術(shù)工具: iOS SDK
  • 操作難度: 普通
  • 執(zhí)行時(shí)間: 30 到60分鐘

在本系列指南的三篇文章中,我將帶大家一同學(xué)習(xí)如何從零開(kāi)始,設(shè)計(jì)并創(chuàng)建一款小型企業(yè)應(yīng)用程序。

最終效果 

Final Effect Preview

作為簡(jiǎn)單的示例,我們不妨將這款預(yù)期作品稱為“商務(wù)應(yīng)用”,其作用是向用戶展示小型企業(yè)提供的服務(wù)項(xiàng)目。希望大家能夠以此為起點(diǎn),一步步操作并理解應(yīng)用程序的設(shè)計(jì)過(guò)程,進(jìn)而在未來(lái)的開(kāi)發(fā)工作中制作出優(yōu)秀且極具市場(chǎng)競(jìng)爭(zhēng)力的產(chǎn)品。

準(zhǔn)備好了嗎?咱們這就開(kāi)始!

創(chuàng)建項(xiàng)目

創(chuàng)建一個(gè)新的Xcode項(xiàng)目,并使用選項(xiàng)卡應(yīng)用程序模板。我們將項(xiàng)目命名為“商務(wù)應(yīng)用指南”,同時(shí)勾選對(duì)話框中的“使用自動(dòng)引用計(jì)數(shù)”以及“使用Storyboard”兩個(gè)選項(xiàng)。點(diǎn)擊“下一步”,選擇項(xiàng)目的保存位置,現(xiàn)在萬(wàn)事俱備、只欠“開(kāi)發(fā)”了。

Xcode Project Template Creation

為應(yīng)用程序設(shè)計(jì)啟動(dòng)畫(huà)面

選擇Sotryboard文件,調(diào)入MainStoryBoard_iPhone,現(xiàn)在大家看到的應(yīng)該如下圖所示。這是Xcode為我們創(chuàng)建的初始視圖控制器,一切美化及提升都需要以此為基礎(chǔ)。

Setting up Storyboards

首先要做的是完成基礎(chǔ)視圖,先在Storyboard中選擇FirstViewController,然后刪除屏幕中作為范例存在的兩個(gè)標(biāo)簽。接著選擇FirstViewController.h文件并聲明以下變量:

  1. @property (nonatomic, strong) IBOutlet UILabel* logoLabel; 
  2. @property (nonatomic, strong) IBOutlet UILabel* descriptionLabel; 
  3. @property (nonatomic, strong) IBOutlet UIButton* callUsButton; 
  4. @property (nonatomic, strong) IBOutlet UIButton* directionsButton; 
  5. @property (nonatomic, strong) IBOutlet UILabel* copyrightLabel; 

以上是屏幕中已經(jīng)存在的UI元素,我們之后還要有針對(duì)性地進(jìn)行調(diào)整,借以讓?xiě)?yīng)用程序更具個(gè)性。

現(xiàn)在讓我們將以上變量整合到FirstViewController.m文件當(dāng)中。

  1. @synthesize logoLabel, descriptionLabel, callUsButton, directionsButton, copyrightLabel; 

下一步要做的是創(chuàng)建標(biāo)簽并將其添加到屏幕當(dāng)中。下面列出的代碼用于定義函數(shù),進(jìn)而創(chuàng)建具備自定義特性的標(biāo)簽。標(biāo)簽上所設(shè)置的屬性包括顏色、陰影、陰影偏移以及排列狀態(tài)。

  1. -(UILabel*)createLabelWithFrame:(CGRect)frame andFontSize:(float)fontSize andText:(NSString*)text 
  2.     UILabel* label = [[UILabel alloc] initWithFrame:frame]; 
  3.              
  4.     [label setFont:[UIFont systemFontOfSize:fontSize]]; 
  5.       
  6.     [label setTextColor:[UIColor whiteColor]]; 
  7.     [label setShadowColor:[UIColor blackColor]]; 
  8.     [label setShadowOffset:CGSizeMake(0, -1)]; 
  9.     [label setTextAlignment:UITextAlignmentCenter]; 
  10.     [label setBackgroundColor:[UIColor clearColor]]; 
  11.     [label setText:text]; 
  12.       
  13.     return label; 

現(xiàn)在我們可以調(diào)用此方法并將返回值分配給兩個(gè)標(biāo)簽,每次調(diào)用都要使用不同的參數(shù)值。如此數(shù)次之后,我們將標(biāo)簽添加到ViewController當(dāng)中。

  1. - (void)viewDidLoad 
  2.       
  3.       
  4.     self.descriptionLabel = [self createLabelWithFrame:CGRectMake(42, 91, 238, 55) andFontSize:19 andText:@"A short description goes here"]; 
  5.       
  6.     self.copyrightLabel = [self createLabelWithFrame:CGRectMake(22, 379, 269, 23) andFontSize:11 andText:@"Copyright 2012 Attorney Biz"]; 
  7.          
  8.     [self.view addSubview:descriptionLabel]; 
  9.     [self.view addSubview:copyrightLabel]; 
  10.       
  11.       
  12.     [super viewDidLoad]; 
  13.     // Do any additional setup after loading the view, typically from a nib. 

到這里如果大家嘗試運(yùn)行應(yīng)用程序,就會(huì)發(fā)現(xiàn)我們?cè)O(shè)定的標(biāo)簽已經(jīng)被正確添加到視圖當(dāng)中,而且其位置及尺寸都會(huì)隨參數(shù)的變化而有所不同。

由于背景跟標(biāo)簽都是白色,因此我們暫時(shí)還無(wú)法識(shí)別標(biāo)簽的樣式。下面要做的是在視圖中添加背景紋理。這里我們要使用的是一款纖維質(zhì)地的藍(lán)色紋理,是我在其它移動(dòng)應(yīng)用教程中制作出來(lái)的。但在這里,它將再次發(fā)揮作用。

這里我們將要使用的圖片命名為bg-splash.pngm,這樣就可以將其作為背景圖案添加到以下代碼中,進(jìn)而作用于viewDidLoad方法了。整個(gè)過(guò)程相當(dāng)于先根據(jù)圖片創(chuàng)建彩色圖案,再將該彩色圖案設(shè)定為背景。

  1. UIColor *backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"bg-splash.png"]]; 
  2. [self.view setBackgroundColor:backgroundColor]; 

如果這時(shí)運(yùn)行應(yīng)用程序,我們會(huì)清楚看到藍(lán)色背景反襯下的標(biāo)簽。到這一步,我們的應(yīng)用程序已經(jīng)逐漸成形了。

添加漸變標(biāo)簽

現(xiàn)在我們需要在屏幕上添加一個(gè)漸變標(biāo)簽,要實(shí)現(xiàn)這種效果,開(kāi)源組件FXLabel是大家的最好選擇。由于蘋(píng)果公司對(duì)系統(tǒng)封閉性的堅(jiān)持,我們很難直接利用輔助代碼為視圖添加漸變效果,一般只能手動(dòng)畫(huà)一幅帶漸變效果的圖片。這里我們從Github網(wǎng)站上下載FXLabel.h和FXLabel.m兩個(gè)文件,并將其添加到項(xiàng)目當(dāng)中。

將以下方法添加到viewDidLoad頂端:

  1. self.logoLabel = [[FXLabel alloc] initWithFrame:CGRectMake(14, 11, 280, 87)]; 
  2.   
  3. [logoLabel setFont:[UIFont boldSystemFontOfSize:45]]; 
  4.   
  5. [logoLabel setTextColor:[UIColor whiteColor]]; 
  6. [logoLabel setShadowColor:[UIColor blackColor]]; 
  7. [logoLabel setShadowOffset:CGSizeMake(0, 2)]; 
  8. [logoLabel setTextAlignment:UITextAlignmentCenter]; 
  9. [logoLabel setBackgroundColor:[UIColor clearColor]]; 
  10. [logoLabel setText:@"Attorney Biz"]; 
  11.   
  12. [logoLabel setGradientStartColor:[UIColor colorWithRed:163.0/255 green:203.0/255 blue:222.0/255 alpha:1.0]]; 
  13. [logoLabel setGradientEndColor:[UIColor whiteColor]]; 
  14.   
  15. [self.view addSubview:logoLabel]; 

以上代碼的定制內(nèi)容與前面提到的其它標(biāo)簽相似,但在這款商務(wù)應(yīng)用中,我們希望實(shí)現(xiàn)背景由藍(lán)色向白色的漸變效果。如果大家在模擬器中運(yùn)行該應(yīng)用,那么顯示結(jié)果如下圖所示:

添加按鈕

在下面的步驟中,我們要為應(yīng)用程序添加按鈕。具體代碼內(nèi)容如下:

  1. -(UIButton*)createButtonWithFrame:(CGRect)frame andLabel:(NSString*)label 
  2.     UIButton *button = [[UIButton alloc] initWithFrame:frame]; 
  3.       
  4.           
  5.     UIColor* buttonColor = [UIColor colorWithRed:95.0/255 green:113.0/255 blue:126.0/255 alpha:1.0]; 
  6.       
  7.     [button setTitle:label forState:UIControlStateNormal]; 
  8.     [button setTitleColor:buttonColor forState:UIControlStateNormal]; 
  9.     [button setBackgroundImage:[UIImage imageNamed:@"button-splash.png"] forState:UIControlStateNormal]; 
  10.   
  11.     [button.titleLabel setFont:[UIFont boldSystemFontOfSize:18]]; 
  12.       
  13.     return button; 

該函數(shù)將在特定位置以特定文本創(chuàng)建按鈕。在該方法中,我們同樣引入自定義元素:將文本內(nèi)容顏色改為灰色,背景圖案也采用資源文件夾中的范例圖片。

在添加方法并定義頭文件之后,接下來(lái)就是調(diào)用該方法并將處理得到的圖像分配給“與我們聯(lián)系”以及“導(dǎo)航”按鈕。

  1. self.callUsButton = [self createButtonWithFrame:CGRectMake(22, 259, 276, 52) andLabel:@"Call us"]; 
  2.   
  3. self.directionsButton = [self createButtonWithFrame:CGRectMake(22, 319, 276, 52) andLabel:@"Directions"]; 
  4.   
  5.   
  6. [self.view addSubview:callUsButton]; 
  7. [self.view addSubview:directionsButton]; 

將以上代碼段添加到FistViewController.m文件內(nèi)的viewDidLoad方法中。由此新的createButton方法將正式生效,通過(guò)變更具體參數(shù),我們就能實(shí)現(xiàn)按鈕及文本內(nèi)容的位置移動(dòng)。

這時(shí)按鈕已經(jīng)被成功加入應(yīng)用視圖。

如果這時(shí)啟動(dòng)應(yīng)用程序,大家會(huì)看到如下畫(huà)面,這就是我們的階段性設(shè)計(jì)成果。

進(jìn)一步調(diào)整

細(xì)心的讀者朋友可能會(huì)發(fā)現(xiàn),上圖所示的屏幕與我在文章開(kāi)頭所展示的最終顯示效果并不完全一致。說(shuō)明標(biāo)簽的換行位置過(guò)于突兀,而且“Attorney Biz”字樣也缺乏漸變效果。

為了讓說(shuō)明內(nèi)容以開(kāi)頭所示的形式分為兩行,我們要將以下代碼添加到viewDidLoad方法中創(chuàng)建descriptionLabel之后的位置。

  1. [descriptionLabel setNumberOfLines:2]; 

為視覺(jué)元素賦予功能

現(xiàn)在,我們的屏幕視圖已經(jīng)基本完成,但這只是視覺(jué)效果,還無(wú)法響應(yīng)任何操作、按鈕也不會(huì)激活任何事件。這可不行,我們得通過(guò)以下代碼定義兩套方法。第一套方法將呼叫特定電話號(hào)碼,而第二套方法則打開(kāi)地圖并顯示指定位置(在本范例中,指定位置為倫敦)。

  1. -(void)callNumber 
  2.     UIApplication *app = [UIApplication sharedApplication];   
  3.     [app openURL:[NSURL URLWithString:[NSString stringWithFormat:@"tel:004-102-3929"]]];  
  4.   
  5. -(void)openMap 
  6.     UIApplication *app = [UIApplication sharedApplication];   
  7.     [app openURL:[NSURL URLWithString:@"http://maps.google.com/maps?q=Paris"]];  

下一步是將我們的按鈕與新方法關(guān)聯(lián)起來(lái)。

  1. [self.callUsButton addTarget:self action:@selector(callNumber) forControlEvents:UIControlEventTouchUpInside]; 
  2.   
  3. [self.directionsButton addTarget:self action:@selector(openMap) forControlEvents:UIControlEventTouchUpInside]; 

現(xiàn)在當(dāng)我們點(diǎn)擊對(duì)應(yīng)按鈕,應(yīng)用程序就會(huì)嘗試發(fā)起電話呼叫或者打開(kāi)地圖應(yīng)用。

注意:模擬器無(wú)法實(shí)現(xiàn)電話呼叫功能,因此這部分內(nèi)容只能在iPhone實(shí)機(jī)上進(jìn)行測(cè)試。

總結(jié)

商務(wù)應(yīng)用系列文章的第一部分到此將告一段落。在第二及第三部分中,我們將學(xué)習(xí)更多應(yīng)用程序設(shè)計(jì)內(nèi)容并為作品添加更多精彩的要素,這些經(jīng)驗(yàn)相信會(huì)在大家未來(lái)的程序開(kāi)發(fā)工作中起到重要作用。

如果大家還有什么問(wèn)題,不妨在評(píng)論欄中留言并與其他朋友一同討論。

原文鏈接: http://mobile.tutsplus.com/tutorials/iphone/design-build-a-small-business-app-project-setup/

責(zé)任編輯:佚名 來(lái)源: 51CTO.com
相關(guān)推薦

2012-08-22 08:37:37

小型企業(yè)商務(wù)應(yīng)用AQGrid View

2012-08-23 08:46:53

小型企業(yè)商務(wù)應(yīng)用自定義視圖

2017-04-29 10:14:31

2012-08-31 11:28:07

惠普動(dòng)能服務(wù)器NonStop NS2

2012-02-15 14:39:55

GNOME 3

2022-05-04 23:08:36

標(biāo)準(zhǔn)Go應(yīng)用程序

2010-03-04 10:11:17

Android手機(jī)系統(tǒng)

2013-09-11 09:37:17

企業(yè)級(jí)移動(dòng)應(yīng)用

2009-11-24 09:51:22

路由設(shè)計(jì)方案

2014-06-04 13:33:03

OpenStack云平臺(tái)

2019-10-08 10:12:26

安全黑客攻擊數(shù)據(jù)

2014-06-17 15:44:47

OpenStackApache 2.0

2011-09-22 09:12:11

小型企業(yè)云計(jì)算安全

2011-06-03 10:31:25

小企業(yè)虛擬化

2010-08-25 17:45:21

2013-09-30 10:01:19

中小企業(yè)關(guān)鍵業(yè)務(wù)應(yīng)用

2011-08-05 13:49:53

iPhone 應(yīng)用 開(kāi)發(fā)

2012-03-30 15:47:50

ibmdw

2011-02-24 09:56:26

組網(wǎng)網(wǎng)絡(luò)

2018-11-08 09:10:18

組網(wǎng)光纖網(wǎng)絡(luò)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)