2012年7月16日 星期一

Simple AirPrint Example


@interface HistoryDetailViewController : UIViewController {
}

@property (retain, nonatomic) IBOutlet UIBarButtonItem *printBarButton;
@property (nonatomic, retain) IBOutlet UILabel *name, *street, *city, *phone, *confNumber, *occupants, *cost, *arrive, 

- (IBAction)printBooking:(id)sender;
-(void)airPrintEvent
{
//   [mainDrawView airPrintEvent];
    if ([UIPrintInteractionController isPrintingAvailable])
  {
      UIPrintInteractionController *pic = [UIPrintInteractionController sharedPrintController];
        NSString  *pngPath = [NSTemporaryDirectory() stringByAppendingPathComponent:[NSString stringWithFormat:@"/Annotation/%d.png",[[DrawInfo sharedInstance] getDrawIndex]]];
        NSData *myData = [NSData dataWithContentsOfFile:pngPath];
        if(pic && [UIPrintInteractionController canPrintData: myData] ) {
          NSLog(@"%s",__func__);
          //            pic.delegate =(id<UIPrintInteractionControllerDelegate>) self;
            UIPrintInfo *printInfo = [UIPrintInfo printInfo];
          printInfo.outputType = UIPrintInfoOutputPhoto;
          printInfo.jobName = [NSString stringWithFormat:@"Reservation-%d",[[DrawInfo sharedInstance] getDrawIndex]];
          printInfo.duplex = UIPrintInfoDuplexNone;
          pic.printInfo = printInfo;
          pic.showsPageRange = YES;
          pic.printingItem = myData;
          pic.delegate = self;
            void (^completionHandler)(UIPrintInteractionController *, BOOL, NSError *) = ^(UIPrintInteractionController *printController, BOOL completed, NSError *error) {
              if (!completed && error) {
                  NSLog(@"FAILED! due to error in domain %@ with error code %u", error.domain, error.code);
              }
          };
          [pic presentFromRect:CGRectMake(850,150,1,1) inView:self.view animated:YES completionHandler:completionHandler];
        }
    }
}
參考:http://vivianaranha.com/airprinting-tutorial-in-3-steps/

2012年6月5日 星期二

UIView 視覺效果:圓角、陰影、邊框、漸層光澤


先建立一個 UIView 物件:
1
2
3
4
5
6
// 記得在 header 檔裡引入 QuartzCore
#import <QuartzCore/QuartzCore.h>

UIView *sampleView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 32, 32)];
sampleView.backgroundColor = [UIColor whiteColor]; // 把背景設成白色
// sampleView.backgroundColor = [UIColor clearColor]; // 透明背景

圓角

1
2
sampleView.layer.cornerRadius = 2.5; // 圓角的弧度
sampleView.layer.masksToBounds = YES;

陰影

1
2
3
4
sampleView.layer.shadowColor = [[UIColor blackColor] CGColor];
sampleView.layer.shadowOffset = CGSizeMake(3.0f, 3.0f); // [水平偏移, 垂直偏移]
sampleView.layer.shadowOpacity = 0.5f; // 0.0 ~ 1.0 的值
sampleView.layer.shadowRadius = 10.0f; // 陰影發散的程度

邊框

1
2
sampleView.layer.borderWidth = 1;
sampleView.layer.borderColor = [[UIColor blackColor] CGColor];

漸層光澤

1
2
3
4
CAGradientLayer *gradient = [CAGradientLayer layer];
gradient.frame = sampleView.bounds;
gradient.colors = [NSArray arrayWithObjects:(id)[[UIColor whiteColor] CGColor], (id)[[UIColor grayColor] CGColor], nil]; // 由上到下的漸層顏色
[sampleView.layer insertSublayer:gradient atIndex:0];
參考網站:http://gibuloto.com/blog/uiview/

2012年3月27日 星期二

iOS開發資源匯總


這裡總結了iPhone開發者開發過程中可能需要的一些資源:
如何用Facebook graphic api上傳視頻:
Keychain保存數據封裝:
對焦功能的實現:
自定義圓角Switch按件:
彈出窗口For iphone and ipad:
KVO詳解:
圖片瀏覽:
Dropbox實例:
當地天氣預報實例:
可伸縮的toolBar實例:
app資源保護相關:
cocos2d中也可用UIScrollView,UITableView,UIGestureRecognizers
UITableView兩級樹型結構:
iOS文檔導入導出:
CoreAnimation Demo:
CoreAnimation Dev:
iOS jabber聊天應用開發:客戶端開發
iOS jabber聊天應用開發:服務器搭建
iOS快速入門:
objc學習:
KeyChain封裝,安全存數據:
聲音相關:
彈珠游戲:
spring board類UI:
MacOS&iOS upnp:
ios block learn:
彈出框中輸入用戶名與密碼:
jailbreak iphone發送sms:
搜索itune裡app的url scheme:
橫豎屏切換自動調整位置:
鍵盤出現與消失view自動移動避免遮擋:
iOS類似firebug的web調試工具:
一個UI開源庫tapkulibrary,集成了calendar,coverflow
多列的TableView
mac的一個桌面程序,開源的
PSTreeGraph for iPad
文件預覽like QLPreviewController
Interface Builder中用自定義字體解決方案
有shader的UILabe
GCD學習
讓UITableView中有search功能教程
iPad閱讀器開發
ipad UI 24個免費資源
TableView的擴展
Orge3D for iOS
文檔比Three20更全的類Three20庫
iOS Boilerplate一個庫集合,方便開發
openCV for iOS
PageCurl for iOS
iOS PDF實例
Core Animation
Core Data注意的地方
GCD
MKMapView zoom level
HTML parser
openGLES
Charts繪制開源庫
apple 私有api文檔
類safari的切換頁面庫
自定義Slider組件
一些自定義組件:
QR Encoder二維碼識別
xml解析庫
wapper map for iOS
iOS unitity
socket
custom camera view
本地天氣demo
瀏覽器飛行動畫
切換動畫demo
Automatic Reference Counting
voip for ios development
圖像處理
腳本自動生成push notification所需證書
自定義ActivityIndicator
開源庫for ios
iOS網絡相關