Category - objective-C

objective-c 文字化け対応

// response
int enc_arr[] = {
NSUTF8StringEncoding, // UTF-8
NSShiftJISStringEncoding, // Shift_JIS
NSJapaneseEUCStringEncoding, // EUC-JP
NSISO2022JPStringEncoding, // JIS
NSUnicodeStringEncoding, // Unicode
NSASCIIStringEncoding // ASCII
};
NSString *data_str = nil;
int max = sizeof(enc_arr) / sizeof(enc_arr[0]);
for (int i=0; i data_str = [
[NSString alloc]
initWithData : data
encoding : enc_arr[i]
];
if (data_str!=nil) {
break;
}
}

read more

UIWebViewの外部リンクをSafariで開く

.h

.m
uiwebview.delegate = self;

// リンクをクリック時、Safariを起動する為の処理
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
if (navigationType == UIWebViewNavigationTypeLinkClicked || navigationType == UIWebViewNavigationTypeOther)
{
NSString* scheme = [[request URL] scheme];
if([scheme compare:@"about"] == NSOrderedSame) {
return YES;
}
if([scheme compare:@"http"] == NSOrderedSame) {
[[UIApplication sharedApplication] openURL: [request URL]];
return NO;
}
}
return YES;
}

read more

フォルダ内のリソースの取得

// index.htmlを表示する
NSString *path = @"html/index.html";
NSString *ext = [path pathExtension];
NSURL *url = [[NSBundle mainBundle] URLForResource:
[path stringByDeletingPathExtension] withExtension:ext];
NSURLRequest *req = [NSURLRequest requestWithURL:url];

// 画像
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"images/cat" ofType:@"jpg"];
UIImage *image = [[UIImage alloc] initWithContentsOfFile:filePath];
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
imageView.frame = CGRectMake(0, 0, 48, 32);
[self.view addSubview:imageView];

read more

Xcodeでフォルダを追加する際のオプション

Xcodeで「Add」-> 「Existing Files…」でフォルダを追加

1.Recursively create groups for any added folders
2.Create Folder References for any added folders

2の場合はフォルダが新規に生成され、フォルダ内に配置したリソースをXcodeが自動で参照してプログラム内から利用できる

read more

ペーストボード(クリップボード)への文字列のコピー方法

UIPasteboard *board = [UIPasteboard generalPasteboard];
[board setValue:@"文字列" forPasteboardType:@"public.utf8-plain-text"];

文字列には改行も含められるのでテキストフィールド(UITextField)の内容をすべてコピーすることも可能です。

read more

Recent entry

Search

Tag Cloud

Page Top