顯示具有 IOS 標籤的文章。 顯示所有文章
顯示具有 IOS 標籤的文章。 顯示所有文章

2013年6月6日 星期四

[IOS]使用WebView載入Google地圖

if (DEVICE_IS_IPHONE5)
{
 width = 320;
 height = 504
}
else {
  width = 320;
  height = 460
}

//不包含狀態列
CGRect fullScreenRect = [[UIScreen mainScreen] applicationFrame]; if(fullScreenRect.origin.y == 20)
{
 width = fullScreenRect.size.width;
 height = fullScreenRect.size.height;
}
else{
 height = fullScreenRect.size.width;
 width = fullScreenRect.size.height;
}

NSString *htmlString = [NSString stringWithFormat:@"<html>\ <head>\ <meta id=\"viewport\" name=\"viewport\" content=\"width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;\">\ <script src='http://maps.google.com/maps/api/js?sensor=false' type='text/javascript'></script>\ </head>\ <body onload=\"new google.maps.StreetViewPanorama(document.getElementById('p'),{position:new google.maps.LatLng(%f, %f),pov: {heading: 270,pitch:0,zoom:1}});\" style='padding:0px;margin:0px;'>\ <div id='p' style='height:%f;width:%f;'></div>\ </body>\ </html>",lat, lon , height , width];

[webView loadHTMLString:htmlString baseURL:nil];

[IOS]設定NavigationController的ButtonItem方式


方法一

UIButton *backBtn = [UIButton buttonWithType:UIButtonTypeRoundedRect];


[backBtn setTitle:@"返回" forState:UIControlStateNormal];


backBtn.frame = CGRectMake(0, 0, 40, 40);


[backBtn addTarget:self action:@selector(GoTop) forControlEvents:UIControlEventTouchUpInside];


UIBarButtonItem *layerBtnItem = [[UIBarButtonItem alloc] initWithCustomView:backBtn];


self.navigationController.navigationBar.topItem.leftBarButtonItem = layerBtnItem;



方法二

UIButton *backBtn = [UIButton buttonWithType:UIButtonTypeRoundedRect];


[backBtn setTitle:@"返回" forState:UIControlStateNormal];


backBtn.frame = CGRectMake(0, 0, 40, 40);


[backBtn addTarget:self action:@selector(GoTop) forControlEvents:UIControlEventTouchUpInside];


UIBarButtonItem *layerBtnItem = [[UIBarButtonItem alloc] initWithCustomView:backBtn];

self.navigationController.navigationItem.leftBarButtonItem=layerBtnItem;


2013年6月5日 星期三

[IOS][ArcGIS] 尋找AGSLayer

使用的SDK版本ArcGIS API fo IOS 2.3.2









目前找Layer的方法有幾種


1.透過名稱


UIView<AGSLayerView>* lyrPushCaseView = [self.mapView.mapLayerViews valueForKey:@"住宅推案 ];

AGSLayer* pushCaseLayer = lyrPushCaseView.agsLayer;

if ([pushCaseLayer isKindOfClass:[AGSDynamicMapServiceLayer class]]) {
    lyrPushCaseView.hidden = NO;
}



2.透過Index


NSArray *layerLists = [delegate.mapView mapLayers];
AGSDynamicMapServiceLayer *layerGroup = [layerLists objectAtIndex:2];

[IOS]UIImage+Resize


以下是筆記,這是蠻常用到的功能所以我把他加到Category裡面方便可以重複使用

建立一個新的項目選擇Category ,名稱輸入Resize類別選擇UIImage

UIImage+Resize.h

@interface UIImage (Resize)

+ (UIImage*)imageWithImage:(UIImage*)image scaledToSize:(CGSize)newSize;

@end

記得是宣告為靜態方法

UIImage+Resize.m

#import "UIImage+Resize.h"

@implementation UIImage (Resize)

+ (UIImage*)imageWithImage:(UIImage*)image scaledToSize:(CGSize)newSize {

UIGraphicsBeginImageContext( newSize );

[image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];

UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext(); return newImage; }

@end

使用UIGraphicsBeginImageContext需加入

#import <QuartzCore/QuartzCore.h>

使用方法

UIImage *popimg = [UIImage imageWithImage:[UIImage imageNamed:@"xxx.png"] scaledToSize:CGSizeMake(50, 50)];

2012年8月28日 星期二

[IOS]在 Windows 將 Apple 開發人員憑證轉換成 P12 憑證

在 Windows 將 Apple 開發人員憑證轉換成 P12 憑證 若要使用 Flash CS5 開發 iPhone 應用程式,您必須使用 P12 憑證檔案。

您將根據從 Apple 收到的 Apple iPhone 開發人員憑證檔案來產生此憑證。

1. 將您從 Apple 收到的開發人員憑證檔案轉換成 PEM 憑證檔案。從 OpenSSL bin 目錄執行以下命令列陳述式: openssl x509 -in developer_identity.cer -inform DER -out

developer_identity.pem -outform PEM

2. 如果您使用的是 Mac 電腦上的鑰匙圈專用密鑰,請將它轉換成 PEM 密鑰: openssl pkcs12 -nocerts -in mykey.p12 -out mykey.pem

3. 現在您可以根據 iPhone 開發人員憑證的密鑰及 PEM 密鑰,產生有效的 P12 檔案: openssl pkcs12 -export -inkey mykey.key -in developer_identity.pem -out iphone_dev.p12 如果您使用的是 Mac OS 鑰匙圈的密鑰,請使用上一個步驟所產生的 PEM 密鑰。

否則,請使用先前產生的 OpenSSL 金鑰 (Windows)。

重點

如果不是管理者權限
請先執行 set RANDFILE=.rnd

發生錯誤解決: error:" WARNING: can't open config file: /usr/local/ssl/openssl.cnf"

重新指定路徑 "set OPENSSL_CONF=C:\OpenSSL-Win32\bin\openssl.cfg" before trying to generate the private key