freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計(jì)-基于ios的飯店點(diǎn)菜系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)(編輯修改稿)

2025-01-08 19:30 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 w beginAnimations:nil context:nil]; 設(shè)置動(dòng)畫(huà)的時(shí)間: [UIViewsetAnimationDuration:]; 設(shè)置動(dòng)畫(huà)的重復(fù)次數(shù): [UIViewsetAnimationRepeatCount:10]; 設(shè)置動(dòng)畫(huà)的效果:[UIViewsetAnimationTransition:UIViewAnimationTransitionFlipFromLeftforView:self.windowcache:YES]; 動(dòng)畫(huà)的結(jié)束是 : [UIView mitAnimations]。 核心動(dòng)畫(huà) 所有核心動(dòng)畫(huà)的動(dòng)畫(huà)類(lèi)都是從 CAAnimation 類(lèi)繼承而來(lái), CAAnimation 實(shí)現(xiàn)了CAMediaTiming 協(xié)議 ,提供了動(dòng)畫(huà)的持續(xù)時(shí)間 ,速度 ,和重復(fù)計(jì)數(shù), CAAnimation 也實(shí)基于 iOS 的飯店點(diǎn)菜系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 9 現(xiàn)了 CAAction 協(xié)議。該協(xié)議為圖層觸發(fā) 一個(gè)動(dòng)畫(huà)動(dòng)作提供了提供標(biāo)準(zhǔn)化響應(yīng)。 CATransition 提供了一個(gè)圖層變化的過(guò)渡效果,它能影響圖層的整個(gè)內(nèi)容。動(dòng)畫(huà)進(jìn)行的時(shí)候淡入淡出 (fade)、推 (push)、顯露 (reveal)圖層的內(nèi)容。這些過(guò)渡效果可以擴(kuò)展到你自己定制的 Core Image 濾鏡 CAAnimationGroup 允許一系列動(dòng)畫(huà)效果組合在一起 ,并行顯示動(dòng)畫(huà)。 CAPropertyAnimation 是一個(gè)抽象的子類(lèi),它支持動(dòng)畫(huà)的顯示圖層的關(guān)鍵路徑中指定的屬性。 CABasicAnimation 簡(jiǎn)單的為圖層的屬性提供修改。支持關(guān)鍵幀動(dòng)畫(huà),你可以指定的圖層屬性的關(guān)鍵路徑動(dòng)畫(huà) ,包括動(dòng)畫(huà)的每個(gè)階段的價(jià)值 ,以及關(guān)鍵幀時(shí)間和計(jì)時(shí)功能的一系列值。在動(dòng)畫(huà)運(yùn)行是 ,每個(gè)值被特定的插入值替代 核心動(dòng)畫(huà)的 CAConstraint 類(lèi)是一個(gè)布局管理器,它可以指定子圖層類(lèi)限制于你指定的約束集合。每個(gè)約束 (CAConstraint 類(lèi)的實(shí)例封裝 )描述層的幾何屬性 (左,右,頂部或底部的邊緣或水平或垂直中心 )的關(guān)系,關(guān)系到其同級(jí)之一的幾何屬性層。核心動(dòng)畫(huà)的圖層和 Cocoa 的視圖在很大程度上沒(méi)有一定的 相似性 ,但是他們兩者最大的區(qū)別是 ,圖層不會(huì)直接渲染到屏幕上。視圖的 position 坐標(biāo)和 anchorPoint 有關(guān),屬性指定的矩陣只會(huì)影響圖層的子圖層,而不會(huì)對(duì)圖層本身產(chǎn)生影響 transform 屬性指定的矩陣結(jié)合圖層的 anchorPoint 屬性作用于圖層和圖層的子圖層上 面 旋轉(zhuǎn)的單位采用弧度 (radians),而不是角度 (degress)。以下兩個(gè)函數(shù),你可以在弧度和角度之間切換: =0。 [myLayer setValue:[NSNumber numberWithInt:0]forKeyPath:@]。 如果一個(gè)圖層的屬性 needsDisplayOnBoundsChange 被設(shè)置為 YES 的時(shí)候 ,當(dāng)圖層的 bounds 屬性改變的時(shí)候,圖層的內(nèi)容將會(huì)被重新緩存起來(lái)。默認(rèn)情況下圖層的needsDisplayOnBoundsChange 屬性值為 NO。如果你必須重繪圖層的內(nèi)容,而不是通過(guò)加載圖片,那你需要實(shí)現(xiàn) drawLayer:inContext:方法。通過(guò)委托可以決定哪些內(nèi)容是需要的并使用 CGContextRef來(lái)重繪內(nèi)容。實(shí)例重新緩存其內(nèi)容,可以通過(guò)發(fā)送以下任何一個(gè)方法 setNeedsDisplay 或 setNeedsDisplayInRect:的消息,亦或者設(shè)置圖層的 needsDisplaOnBoundsChange 屬性為 YES。 CALayer 的屬性 contentsGravity 允許你在圖層的邊界內(nèi)容修改圖層的 contents 圖片的位置或者伸縮值。默認(rèn)情況下,內(nèi)容的圖像完全填充層的邊界,忽視自然的圖像寬高比 contentsGravity 屬性值:基于 iOS 的飯店點(diǎn)菜系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 10 CABasic 提供了在圖層的屬性值間簡(jiǎn)單的插入。 CAKeyframeAnimation 提供支持關(guān)鍵幀動(dòng)畫(huà)。你指定動(dòng)畫(huà)的一個(gè)圖層屬性的關(guān)鍵路徑,一個(gè)表示在動(dòng)畫(huà)的每個(gè)階段的價(jià)值的數(shù)組,還有一個(gè)關(guān)鍵幀時(shí)間的數(shù)組和時(shí)間函數(shù)。 CATransition 提供了一個(gè)影響整個(gè)圖層的內(nèi)容過(guò)渡效果。在動(dòng)畫(huà)顯示過(guò)程中采用淡出 (fade)、推出 (push)、顯露(reveal)圖層的內(nèi)容。常用的過(guò)渡效果可以通過(guò)提供你自己定制的核心圖像濾鏡來(lái)擴(kuò)展 [7]。 設(shè)計(jì)模式 MVC 設(shè)計(jì)模式 圖 設(shè)計(jì)模式 仔細(xì)觀察上面的圖,有控制器到 model 的箭頭,沒(méi)有 model 到控制器的箭頭。因?yàn)槟P筒恍枰揽刂破鞯拇嬖冢@樣可以減少耦合,提高代碼復(fù)用可能性。 代理設(shè)計(jì)模式 代理是一種簡(jiǎn)單而功能強(qiáng)大的設(shè)計(jì)模式,這種模式用于一個(gè)對(duì) 象 “ 代表 ” 另外一個(gè)對(duì)象和程序中其他的對(duì)象進(jìn)行交互。主對(duì)象(這里指的是 delegating object)中維護(hù)一個(gè)代理( delegate)的引用并且在合適的時(shí)候向這個(gè)代理發(fā)送消息。這個(gè)消息通知 “ 代理 ” 主對(duì)象即將處理或是已經(jīng)處理完了某一個(gè)事件 [14]。 這個(gè)代理可以通過(guò)更新自己或是其它對(duì)象的 UI 界面或是其它狀態(tài)來(lái)響應(yīng)主對(duì)象所發(fā)送過(guò)來(lái)的這個(gè)事件的消息?;蚴窃谀承┣闆r下能返回一個(gè)值來(lái)影響其它即將發(fā)生的事件該如何來(lái)處理。代理的主要價(jià)值是它可以讓你容易的定制各種對(duì)象的行基于 iOS 的飯店點(diǎn)菜系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 11 為。注意這里的代理是個(gè)名詞,它本身是一個(gè)對(duì)象,這個(gè)對(duì)象是專(zhuān)門(mén)代表被代理對(duì)象來(lái)和程序中其他對(duì)象打交道的。 圖 代理模式流程圖 單例設(shè)計(jì)模式 iOS 的單例設(shè)計(jì)模式流程如下圖 所示: 圖 單例模式流程圖 單例模式的意思就是只有一個(gè)實(shí)例。單例模式確保某一個(gè)類(lèi)只有一個(gè)實(shí)例,而且自行實(shí)例化并向整個(gè)系統(tǒng)提供這個(gè)實(shí)例。這個(gè)類(lèi)稱(chēng)為單例類(lèi)。 單例模式的主要優(yōu)點(diǎn)如下: ( 1)單例模式提供了對(duì)唯一實(shí)例的受控訪問(wèn)。因?yàn)閱卫?lèi)封裝了它的唯一實(shí)例,所以它可以嚴(yán)格控制客戶怎樣以及何時(shí)訪問(wèn)它。 ( 2)由于在系統(tǒng)內(nèi)存中只存在一個(gè)對(duì)象,因此可以節(jié)約系統(tǒng)資源,對(duì)于一些需要頻繁創(chuàng)建和銷(xiāo)毀的對(duì)象單例模式無(wú)疑可以提高系統(tǒng)的性能。 客戶類(lèi) 接口 代理類(lèi) 委托類(lèi) 基于 iOS 的飯店點(diǎn)菜系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 12 ( 3)允許可變數(shù)目的實(shí)例。基于單例模式我們可以進(jìn)行擴(kuò)展,使用與單例控制相似的方法來(lái)獲得指定個(gè)數(shù)的對(duì)象實(shí)例,既節(jié)省系統(tǒng)資 源,又解決了單例單例對(duì)象共享過(guò)多有損性能的問(wèn)題。 單例模式的主要缺點(diǎn)如下: ( 1)由于單例模式中沒(méi)有抽象層,因此單例類(lèi)的擴(kuò)展有很大的困難。 ( 2)單例類(lèi)的職責(zé)過(guò)重,在一定程度上違背了“單一職責(zé)原則”。因?yàn)閱卫?lèi)既充當(dāng)了工廠角色,提供了工廠方法,同時(shí)又充當(dāng)了產(chǎn)品角色,包含一些業(yè)務(wù)方法,將產(chǎn)品的創(chuàng)建和產(chǎn)品的本身的功能融合到一起。 ( 3)現(xiàn)在很多面向?qū)ο笳Z(yǔ)言 (如 Java、 C)的運(yùn)行環(huán)境都提供了自動(dòng)垃圾回收的技術(shù),因此,如果實(shí)例化的共享對(duì)象長(zhǎng)時(shí)間不被利用,系統(tǒng)會(huì)認(rèn)為它是垃圾,會(huì)自動(dòng)銷(xiāo)毀并回收資源,下次利用時(shí)又將重 新實(shí)例化,這將導(dǎo)致共享的單例對(duì)象狀態(tài)的丟失。 在以下情況下可以考慮使用單例模式: ( 1)系統(tǒng)只需要一個(gè)實(shí)例對(duì)象,如系統(tǒng)要求提供一個(gè)唯一的序列號(hào)生成器或資源管理器,或者需要考慮資源消耗太大而只允許創(chuàng)建一個(gè)對(duì)象。 ( 2)客戶調(diào)用類(lèi)的單個(gè)實(shí)例只允許使用一個(gè)公共訪問(wèn)點(diǎn),除了該公共訪問(wèn)點(diǎn),不能通過(guò)其他途徑訪問(wèn)該實(shí)例。 鍵值監(jiān)聽(tīng)模式 KVO (Key Value Observing)是 iOS 里面一種特別方便的機(jī) 制用于 “ 捕捉 ” 對(duì) 象屬性的變化。在概念理解上,是設(shè)計(jì)模式里面觀察者模式的一種實(shí)踐。 KVO 是 Cocoa的一個(gè)重要機(jī)制,當(dāng)有屬性改變, KVO 會(huì)提供自動(dòng)的消息通知。這樣開(kāi)發(fā)人員不需要自己去實(shí)現(xiàn)這樣的方案:每次屬性改變了就發(fā)送消息通知。下面是 KVO 實(shí)現(xiàn)的一些核心代碼: importFoundation/ @interface EmployeeData : NSObject { NSString *salary。 } @property(nonatomic,retain) NSString *salary。 基于 iOS 的飯店點(diǎn)菜系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 13 @end import @implementation EmployeeData @synthesize salary。 @end importUIKit/ @interface ViewController : UIViewController { UILabel *salary。 } @property(nonatomic,retain) IBOutlet UILabel *salary。 @end import import @interface ViewController () { EmployeeData *employeeData。 } @end @implementation ViewController @synthesize salary。 (void)viewDidLoad { [super viewDidLoad]。 // Do any additional setup after loading the view, typically from a nib. employeeData = [[EmployeeData alloc] init]。 [employeeData addObserver:self forKeyPath:@salary options:NSKeyValueObservingOptionNew context:nil]。 } 基于 iOS 的飯店點(diǎn)菜系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 14 (void)viewDidAppear:(BOOL)animated { = @20。 = @200。 = @2021。 = @20210。 = @202100。 } (void)viewDidUnload { [super viewDidUnload]。 } (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown)。 } (void)observeValueForKeyPath:(NSString*)keyPathofObject:(id)objectchange:(NSDictionary *)change context:(void *)context { NSLog(@observeValueForKeyPath is run)。 if (object == employeeData amp。amp。 [keyPath isEqualToString:@salary]) { = 。 } } (void) dealloc { [employeeData removeObserver:self forKeyPath:@salary]。 } @end 基于 iOS 的飯店點(diǎn)菜系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 15 iOS 模擬器 iOS 模擬器是 iOS 開(kāi)發(fā)者在軟件開(kāi)發(fā)的時(shí)候,用來(lái)進(jìn)行測(cè)試的一個(gè)工具。運(yùn)行Xcode 的代碼時(shí)候,并啟動(dòng) iOS 模擬器。當(dāng)然你也可以對(duì) iOS 模擬器進(jìn)行設(shè)置, 寸 iPhone, 4 寸 iPhone , iPad 等,都可以根據(jù)個(gè)人愛(ài)好進(jìn)行設(shè)置。在運(yùn)行應(yīng)用程序的時(shí)候, iOS 模擬器會(huì)最大程度地模擬實(shí)際 iOS 設(shè)備的運(yùn)行方式。由于 iOS 模擬器啟動(dòng)和調(diào)試都很快,因此它非常適合用來(lái)測(cè)試用戶界面是否符合預(yù)期,網(wǎng)絡(luò)調(diào)用是否正確,電話旋轉(zhuǎn)的時(shí)候視圖變化是否正確。您甚至可以使用鼠標(biāo)模擬觸摸手勢(shì)。 iOS 模擬器能為您的開(kāi)發(fā)工作節(jié)約大量的時(shí)間 [9]。 真機(jī)調(diào)試 當(dāng)然模擬器只是一種模擬的環(huán)境,如果想在真實(shí)的環(huán)境中測(cè)試所編寫(xiě)軟件的效果還需要在真機(jī)的條件下測(cè)試,這里說(shuō)明一下真機(jī)調(diào)試時(shí)的步驟:首先要在蘋(píng)果網(wǎng)站上注冊(cè) APP ID,以及購(gòu)買(mǎi) iPhone Develop Program(iDP) 開(kāi)發(fā)者授權(quán), 99 美元。然后要?jiǎng)?chuàng)建證書(shū)請(qǐng)求 CSR,創(chuàng)建步驟如下: ( 1) Mac OS 中,打開(kāi)應(yīng)用程序,找到鑰匙串訪問(wèn)( Keychain Access)工具開(kāi)主菜單-證書(shū)助理 (Certificate Assistant)-從證書(shū)代理請(qǐng)求證書(shū)( Request a CertificateFrom a Certificate Authority)輸入 iDP 注冊(cè)時(shí)的 ,用戶名自定義。 ( 2 ) 接 下 來(lái) 就 可 以 登 錄 iDP Portal 提 交 證 書(shū) 請(qǐng) 求 了 , 到 這 個(gè) 頁(yè) 面 : 圖 提交證書(shū)界面 下載上圖的兩個(gè)文件到本地,打開(kāi) Keychain Access
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1