画像付きのアラートビューを表示する – iPhoneアプリ開発

12月 17, 2010 · Posted in iOS SDK, iPhone開発, Objective-C, Xcode, 応用 · Comment 

概要

iPhone(iOS)標準のアラートビュー(UIAlertView)に、画像(UIImage)を表示する方法。

内容

APIの標準機能では、画像表示機能が提供されていない。

実現のために、アラートダイアログに表示するメッセージ内に改行コードを挿入して、スペースを確保し、そのスペースに、UIImageViewを表示する方法で、カスタマイズをおこなうことができる。

NSString *alertMessage = @"ボスに電話します。\nよろしいですか?\n\n\n\n\n\n0000-0000-0000";
UIAlertView *infoAlertView = [[UIAlertView alloc] initWithTitle:nil
	message:alertMessage delegate:nil
	cancelButtonTitle:@"いいえ" otherButtonTitles:@"はい", nil];
UIImageView *i = [[UIImageView alloc]initWithFrame:CGRectMake(85, 70, 110, 73)];
i.image = [UIImage imageNamed:@"boss.jpg"];
[infoAlertView addSubview:i];
[infoAlertView show];

イメージ

QuartzCoreとの組み合わせで、角丸画像ももちろん表示できる!

#import "QuartzCore/QuartzCore.h"

// (略)

NSString *alertMessage = @"ボスに電話します。\nよろしいですか?\n\n\n\n\n\n0000-0000-0000";
UIAlertView *infoAlertView = [[UIAlertView alloc] initWithTitle:nil
	message:alertMessage delegate:nil
	cancelButtonTitle:@"いいえ" otherButtonTitles:@"はい", nil];
UIImageView *i = [[UIImageView alloc]initWithFrame:CGRectMake(85, 70, 110, 73)];
i.image = [UIImage imageNamed:@"boss.jpg"];

i.layer.cornerRadius = 6;
i.clipsToBounds = YES;

[infoAlertView addSubview:i];
[infoAlertView show];

ビューや画像の角を丸くする – iphoneアプリケーション開発

概要

appleらしい、角丸ビューや角丸画像を作る方法。簡単。

サンプルコード

#import "QuartzCore/QuartzCore.h"

// (略)

view.layer.cornerRadius = 4;
view.clipsToBounds = YES;

手順

1.ビューを参照できるクラス内で、QuartzCoreフレームワークをインポートする。

#import "QuartzCore/QuartzCore.h"

2.UIViewクラスのオブジェクトのlayer(CALayer)を取り出し、cornerRadiusプロパティを設定する。

view.layer.cornerRadius = 4;

3.UIViewオブジェクトのclipsToBoundsプロパティの値をYESにする。

view.clipsToBounds = YES;

4.完成
角丸完成。

※イメージのcornerRadiusの値は、左上から右下に向かって、0,6,12,18,24,30

プログラム内でアプリケーションを終了する。iPhoneアプリ開発

12月 14, 2010 · Posted in iPhone開発, Objective-C, Xcode, 基礎 · Comment 

タスク切り替え時のような、アニメーションを伴ったスムーズなアプリケーションの終了は、APIが提供されていないため、コードから実行することができない。
これは、「アプリケーションの終了は、ユーザーのホームボタン押下によって実行する。」というAppleの方針らしい。
How do I programmatically quit my iPhone application?
http://developer.apple.com/library/ios/#qa/qa2008/qa1561.html

どうしても実装する必要がある場合、cocoaのAPIではなく、cのコードexit(0)でアプリケーションを終了することはできるが、アプリケーションクラッシュ時のように、いきなりアプリケーションが”落ちる”ような見た目になるため、注意が必要(&アプリ審査通るか謎)

次ページへ »