What Is Software Design?

程式設計不是 “building software”,而是 “designing software”。

2013年7月25日 星期四

iOS 設計出 facebook 留言的 bottom bar 隨著 text 鍵盤上升出現

step1. 首先要創一個 ViewController  step2. 在ViewController 後面加上UITextViewDelegate 如下 @interface ViewController ()<UITextViewDelegate > {         UITextView * commentTextView;         UITextView * realCommentTextView; } step3. 在ViewController 的viewDidLoad //新增一個bottomview  UIToolbar *bottomView = [[UIToolbar alloc] initWithFrame:CGRectMake(0,[UIScreen...

2013年7月19日 星期五

Html5 Canvas 基本練習 劃線 畫圓

什麼是Canvas? HTML5的Canvas元素使用的Javascript在網頁上繪製圖像。 Canvas是一個矩形區域,您可以控制其每一像素。 Canvas上擁有多種繪製路徑,矩形,圓形,字符以及添加圖片的方法 Create a Canvas <canvas id="myCanvas" width="200" height="100"></canvas> Draw Onto The Canvas With JavaScript <script> var c=document.getElementById("myCanvas"); var ctx=c.getContext("2d"); ctx.fillStyle="#FF0000"; ctx.fillRect(10,10,150,75); </script> 在Canvas劃線 <script> var c=document.getElementById("myCanvas"); var...

AngularJS 練習 ngBind

step1. 進入  http://plnkr.co/edit/?p=preview step2. 左邊選擇index.html 將以下的code全部覆蓋 <!doctype html> <html ng-app>   <head>     <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.6/angular.min.js"></script>     <script src="script.js"></script>   </head>   <body> <div ng-controller="Ctrl">   Enter name: <input type="text" ng-model="name"><br>   Hello <span ng-bind="name"></span>! </div>  ...

iOS 擊點背景讓textField鍵盤縮下去

step1. 新增一個UITextField出來 UITextField *myTextField=[[UITextField alloc]initWithFrame:CGRectMake( 121, 30, 159, 30) ];  self.nameTextField.placeholder = @"請輸入xxxx"; self.myTextField.delegate = self ;//要設定代理人 step2. 設定按背景 if(&UIViewNoIntrinsicMetric) {         UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tap:)];         [self.view addGestureRecognizer:tapGesture];          } step3....

2013年7月18日 星期四

iOS 取得裝置平台類型或版本名稱的方法

step1. 有關的標頭檔 #import <sys/types.h> #import <sys/sysctl.h> step2. 取使用的機台副程式 - (NSString *) deviceModel {     size_t size;     sysctlbyname("hw.machine", NULL, &size, NULL, 0);     char *model = malloc(size);     sysctlbyname("hw.machine", model, &size, NULL, 0);     NSString *deviceModel = [NSString stringWithCString:model encoding:NSUTF8StringEncoding];  ...

iOS NSDate 要增加月份 或 往前推月份

現在NSDate NSDate *newdate = [NSDate date]; 1.增加月份 NSDateComponents* dateComponents = [[NSDateComponents alloc]init]; [dateComponents setMonth:1]; NSCalendar* calendar = [NSCalendar currentCalendar]; NSDate* newDate = [calendar dateByAddingComponents:dateComponents toDate:“這邊填寫目前的NSDate” options:0]; 1.減少月份 NSDateComponents* dateComponents = [[NSDateComponents alloc]init]; [dateComponents setMonth:-1]; NSCalendar* calendar = [NSCalendar currentCalendar]; NSDate* newDate = [calendar dateByAddingComponents:dateComponents toDate:“這邊填寫目前的NSDate”...

iOS NSdate 的格式轉換 與 轉成字串

step1. //建立空字串 NSString *str =[[NSString alloc] init]; step2. //建立轉換參數 NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:@"輸入正規化參數 ex:YYYY-MM-d"]; step3. //轉換成字串 NSString *correctDate = [formatter stringFromDate:date];  PS:如果要字串轉回NSDate NSDate *date = [dateFormatter dateFromString:@"2010-08-04 16:01:03"]; 與時間相關 參數      代表意義   a        AM/PM (上午/下午) K        0~11 有0時的12小時制 h    ...

2013年7月11日 星期四

iOS NSDate 日期比較的用法

1.想要讀取現在時間 NSDate *now = [[NSDate alloc] init]; Nslog[@"now: %@",now]; 2.日期比較 相同時間 回傳 bool bool check = [checkdate isEqualToDate:now]; 獲取較早的日期 NSDate * checkdate = [now earlierDate: inputData ]; 獲取較晚的日期 NSDate * checkdate = [now laterDate: inputData ...

iOS AFNetworking

1. 先用Pods 把第三方原件 加入進來 platform :ios, '5.0' pod 'AFNetworking', '~> 1.2' 2. 將AFNetworking 加入參考 #import <AFNetworking.h> 可以到Xcode資料夾底下 Supporting Files 的 .pch 檔案的裡面 #import <Availability.h> #ifndef __IPHONE_5_0 #warning "This project uses features only available in iOS SDK 5.0 and later." #endif #ifdef __OBJC__     #import <UIKit/UIKit.h>     #import <Foundation/Foundation.h>     #import <AFNetworking.h> #endif 3. 簡單範例     static NSString *const...

2013年7月8日 星期一

ASP.net 2012 api 要跨網域方法

假設我們今天開發了一個 ASP.NET Web API 的 Web Services ,這個 Service 的主機名稱為 www.web1.com (稱A),同時我們也開發另外一個網站主機名稱為 www.web2.com (稱B),然而假設 B 網站存取 A 網站的 Web API ,所以我們使用 XMLRequest 或 jQuery 的 $.ajax 來呼叫我們的 Web API ,不幸的是這樣的溝通是會出錯的,因為瀏覽器不允許使用 AJAX 來呼叫外部的資源。 不過雖然瀏覽器為了安全起見阻止此類的呼叫,不過假設我們今天的請求是合法的呢? 從錯誤訊息中我們可以清楚看到 XMLHttpRequest 調用失敗,並且明確寫著來源不允許請求 "Access-Control-Allow-Origin",而什麼是  "Access-Control-Allow-Origin":當每次網頁伺服器在回應瀏覽器請求時,而當 HTTP Header 中有時會帶有  "Access-Control-Allow-Origin"...