macOS/iOS API解説

iOS , Mac アプリケーション開発のために使われる主要フレームワークの日本語情報です。2010年代に書かれた内容です。今後更新はありません。

目次

UIViewクラス

INDEX>UIKit>UIView

描画とイベントを扱う実体サブクラスを提供するための抽象クラス

apple

解説

UIViewクラスは描画とイベントを扱う実体サブクラスを提供するための抽象クラスです。

継承 UIResponder : NSObject
準拠 NSCoding
UIAppearance
UIAppearanceContainer
NSObject (NSObject)
フレームワーク /System/Library/Frameworks/UIKit.framework
使用可能 iOS 2.0以降
定義 UIView.h

概要

UIViewクラスは描画とイベントハンドリング構造の実体サブクラスを提供するための抽象クラスです。
他のビューを含むUIViewの実体インスタンスを作ることができます。


UIViewオブジェクトはUIWindowオブジェクトの中にサブビューの階層を持って配置されます。

ビュー階層の中で親オブジェクトはスーパービュー(superview)と呼ばれます。そして子オブジェクトはサブビュー(subview)と呼ばれます。


ビューオブジェクトはスーパービューの中で矩形領域を要求します、それはその領域でのすべての描画に責任があり、その上発生するイベントを受け取る資格があります。

兄弟ビューは問題なく重ねることができます。複雑なビューの配置ができます。

UIViewはビュー、UIViewControllerがビューをコントロールします。

Xcode5

Constraints:自動レイアウトの制限事項
Width Constraint:幅の制限


Relation:
Constant:
Priority:
Placeholder:

使用可能

iOS 2.0以降

メソッドとプロパティ

アトリビュートのセットとゲット

userInteractionEnabled property

矩形とフレーム矩形の修正

frame property
bounds property
center property
transform property

サブビューのリサイジング

autoresizesSubviews property
autoresizingMask property
– sizeThatFits
– sizeToFit
contentMode property
contentStretch property

ビューの検索

tag property
– viewWithTag:

initWithTitle:delegate:cancelButtonTitle:destructiveButtonTitle:otherButtonTitles:

INDEX>UIKit>UIActionSheet

モーダルビューを初期化するのに便利なメソッド
- (id)initWithTitle:(NSString *)title delegate:(id < UIModalViewDelegate >)delegate cancelButtonTitle:(NSString *)cancelButtonTitle destructiveButtonTitle:(NSString *)destructiveButtonTitle otherButtonTitles:(NSString *)otherButtonTitles, ...

クラス

UIActionSheet

返り値

id UIActionSheetまたはUIActionSheetのサブクラスの新しく初期化されたインスタンス

パラメータ

title
タイトルバーに表示されるタイトル文字列
delegate
デリゲートオブジェクト、なければnil
cancelButtonTitle
キャンセルボタンのタイトル、なければnil
destructiveButtonTitle

otherButtonTitles

例文

	UIActionSheet *aSheet = [[UIActionSheet alloc] initWithTitle:@"title" 
	delegate: self
	cancelButtonTitle:@"cancelButtonTitle" 
	destructiveButtonTitle:@"destructiveButtonTitle" 
	otherButtonTitles:@"otherButtonTitles",nil];

説明

使用可能

iPhone OS 2.0 以降.

参照先

– showInView:

定義

UIAlert.h

UIAcceleration

INDEX>UIKit>

アクセラレーションクラス
継承 NSObject
準拠 NSObject (NSObject)
フレームワーク /System/Library/Frameworks/UIKit.framework
使用可能 iOS2.0以降
定義 UIAccelerometer.h

概要

(編集中)
UIAccelerationクラスはアクセラレータイベントデータを保持します。
あなたのアプリケーションがアクセラレータ通知を受け取る時、このクラスのインスタンスは通知のオブジェクトに保持する。
アクセラレータ通知を受け取るための情報はUIAccelerometerクラスを見てください。
それぞれのアクセラレータイベントはデバイスの三つの角度(図を見てください)に属する現在のアクセラレーションをリレーします。
それぞれの角度のアクセラレーション値は重力値としてハードウエアによって直接反応します。
その結果、約1Gなら1.0、-1Gなら-1.0を提供します。

Accessing the Acceleration Values

x property
y property
z property
timestamp property

タスク

UISlider

INDEX>UIKit>

スライダークラス
継承 UIControl : UIView : UIResponder : NSObject
準拠 NSCoding
NSCoding (UIView)
UIAppearance (UIView)
UIAppearanceContainer (UIView)
NSObject (NSObject)
フレームワーク /System/Library/Frameworks/UIKit.framework
使用可能 iOS 2.0 以降
定義 UISlider.h

概要

UISliderオブジェクトは連続した値の範囲からの単一の値を選択するのに使うビジュアルコントロールです。
スライダーは垂直または水平のバーとして表示できます。
インジケーター、サム、スライダーの現在の値セッティングを変更する事ユーザーによって動かすことができます。

例文

//スライダー
	UISlider *aSlider = [[UISlider alloc] initWithFrame:CGRectMake(0,120,320,100)];
	[aSlider addTarget:self action:@selector(sliderAction:) 
					forControlEvents:UIControlEventValueChanged];
	
	aSlider.continuous = YES;

メソッドとプロパティ

スライダー値へのアクセス

value  property
–setValue:animated

スライダーの制限値へのアクセス

minimumValue  property
maximumValue  property

スライダーの挙動を集成します

continuous  property

NSBundleクラス

INDEX>Foundation>NSBundle

バンドルクラス


編集時バージョン OS X 10.8 iOS 6.1

apple(mac)

apple(iOS)

継承 NSObject
準拠 NSObject (NSObject)
フレームワーク /System/Library/Frameworks/Foundation.framework
使用可能 Mac OS X 10.0以降
iOS2.0以降
定義 NSBundle.h

解説

NSBundleオブジェクトはファイルシステムでプログラムが使うことの出来るコードやリソースのグループの場所を表します。

アプリケーションが使用する事のできるコードとリソースがあるファイルの場所を示します。
似たようなものでパッケージがありますが、パッケージは一つのファイルになっています。バンドル内は通常見えないようになっていて一つのファイルに見えますが、バンドル内はファイルやフォルダが存在している状態です。
アプリケーションバンドル、フレームワークプラグインなどバンドルにはいくつかの種類がありますが、ここでは主にアプリケーションバンドルについての説明をします。

バンドルの初期化

指定したURLからバンドルを作成するには(+ bundleWithURLメソッドを使います。パスで指定するメソッド+ bundleWithPath)もありますがURLで指定する方法が推奨されています。
作成したバンドルを初期化するメソッド– initWithURL)(– initWithPath)も用意されています。

NSBundle *bundleToLoad = [NSBundle bundleWithURL:[bundleURL URLByAppendingPathComponent:@"Settings.bundle"]];

バンドルの取得

指定したクラスが、どのバンドルに含まれるかを知るには(+ bundleForClassメソッドを使います。指定したバンドルIDでバンドルを探すには(+ bundleWithIdentifierメソッドを使います。バンドルIDはInfo.plistにキー"CFBundleIdentifier"で設定してある文字列(たとえば"com.oomori.NSBundle")です。

NSBundle *bundle = [NSBundle bundleWithIdentifier:@"com.oomori.NSBundle" ];

アプリケーションが動いているバンドルを取得するには(+ mainBundleメソッドを使います。アプリケーションのフレームワーク以外のバンドルを取得するには(+ allBundlesメソッドを使います。逆にアプリケーションが使っているフレームワークのバンドルを取得するには(+ allFrameworksメソッドを使います。

バンドルクラスの取得

クラスの名前からクラスを取得するには(– classNamedメソッドを使います。

リソースを探す

バンドルの指定したリソースの場所を取得するには(– URLForResource:withExtension:subdirectoryメソッドを使います。URLForResource:にはファイル名、withExtension:には拡張子、subdirectory:にはファイルが属するディレクトリを渡します。subdirectory:指定が無いメソッド– URLForResource:withExtension)もあります。(– URLForResource:withExtension:subdirectory:localization:)はローカライズ指定をすることができます。

NSBundle *bundle = [NSBundle mainBundle];
    NSString *retStr = [bundle localizedStringForKey:@"cancel" value:@"Don't find" table:nil];

指定の拡張子を持つリソースのURLを取得するメソッド– URLsForResourcesWithExtension:subdirectory)や、ローカライズ指定をすることが出来る(– URLsForResourcesWithExtension:subdirectory:localization:)があります。上記をURLではなく、パスで返すメソッドもあります。

バンドルディレクトリの取得

バンドルの場所を取得するメソッドも2つあります。URLで取得するメソッド– bundleURL)とパスで取得するメソッド– bundlePath)です。

NSURL *bundleURL = [[NSBundle mainBundle] bundleURL];

バンドル情報の取得

バンドルIDを取得するには(– bundleIdentifierメソッドを使います。バンドルの情報を取得するには(– infoDictionaryメソッドを使います、バンドルのInfo.plistに書かれてある情報のうち現在の環境に適合しているものが取得できます。

NSBundle *bundle = [NSBundle mainBundle];
NSDictionary *infoDic = [bundle infoDictionary];

Info.plistに記載されている情報から指定したキーの値を取得するには(– objectForInfoDictionaryKey:)メソッドを使います。値に応じて配列、文字列、数値などで返されます。

組み込みプラグインの場所を返すメソッドも(– builtInPlugInsURL)(– builtInPlugInsPath)と2つ用意されています。実行ファイルの場所は(– executableURL)(– executablePathメソッドで取得できます。
実行ファイル名を指定して含まれるフォルダの場所を返すメソッド– URLForAuxiliaryExecutable)(– pathForAuxiliaryExecutable)も2つあります。

NSBundle *bundle = [NSBundle mainBundle];
id obj = [bundle URLForAuxiliaryExecutable:@"NSBundle"];

プライベートフレームワークの場所を返すメソッド– privateFrameworksURL)(– privateFrameworksPath)、共有フレームワークの場所を返すメソッド– sharedFrameworksURL)(– sharedFrameworksPath)、共有サポートフォルダの場所を返すメソッド– sharedSupportURL)(– sharedSupportPath)などがあります。

画像や音声などリソースファイルの場所は(– resourceURL)(– resourcePathメソッドを使います。

NSBundle *bundle = [NSBundle mainBundle];
    id obj = [bundle resourceURL];

ローカライズリソースの管理

– localizedStringForKey:value:tableメソッドはバンドルから現在のローカライズ文字を指定のキーで探して返します。キーがなければvalue:に渡した文字列が使用されます。table:で指定しなければLocalizable.stringsが使用されます。

バンドルのコードのロード

バンドルを読み込むには(– loadメソッドや([loadAndReturnError:title=– loadAndReturnError:])メソッドを使います。現在読み込まれているかどうかを知るには(– isLoadedメソッドを使います。バンドルをメモリから破棄するには(– unload)メソッドを使います。
実行可能なアーキテクチャを知るには(– executableArchitecturesメソッドを使い、バンドルが実行可能かを検証するには(– preflightAndReturnErrorメソッドを使います。

ローカライズの管理

バンドルに含まれるローカライズ環境を取得するには(– localizationsメソッドを使います。使う事のできる環境が配列で返されます。
優先されるローカライズ環境を知るには(+ preferredLocalizationsFromArrayメソッドや(+ preferredLocalizationsFromArray:forPreferencesメソッドを使用します。

NSArray *array = [NSBundle  preferredLocalizationsFromArray:[[NSBundle mainBundle]  localizations]];

概要

適合するプロトコル

メソッド

NSBundleの初期化
+ bundleWithURL 10.6 4.0〜 指定のURLからバンドルを返します。
+ bundleWithPath 10.0 2.0 指定のパスからバンドルを返します。
– initWithURL 10.6 4.0〜 指定のURLからバンドルを初期化して返します。
– initWithPath 10.0 2.0〜 指定のパスからバンドルを初期化して返します。
NSBundleを取得
+ bundleForClass 10.0 2.0 クラスからバンドルを返します。
+ bundleWithIdentifier: 10.0 2.0〜 指定したIDのバンドルを返します。
+ mainBundle 10.0 4.0〜 メインバンドルを返します。
+ allBundles 10.0 2.0 フレームワーク以外のすべてのバンドルを返します。
+ allFrameworks 10.0 2.0 ロードされているすべてのフレームワークを返します。
バンドルされたクラスを得る
– classNamed 10.0 2.0〜 名前で指定したクラスを返します。
– principalClass 10.0 2.0〜 優先のクラスを返します。
リソースを探す
– URLForResource:withExtension:subdirectory 10.6 4.0〜 バンドルの指定したリソースの場所を取得
+ pathForResource:ofType:inDirectory 10.0 2.0〜 バンドルのリソースのフォルダから名前と拡張子でファイルを探してパスを返します。
– URLForResource:withExtension 4.0〜
– pathForResource:ofType 10.0 2.0〜
– URLsForResourcesWithExtension:subdirectory 10.6 4.0〜
– pathForResource:ofType:inDirectory 2.0〜
– URLForResource:withExtension: subdirectory:localization 4.0〜
– pathForResource: ofType:inDirectory:forLocalization 2.0〜
+ pathsForResourcesOfType:inDirectory 10.0 2.0〜
– pathsForResourcesOfType:inDirectory 10.0 2.0〜
– URLsForResourcesWithExtension: subdirectory:localization 2.0〜
– pathsForResourcesOfType: inDirectory:forLocalization 2.0〜
+ URLForResource:withExtension: subdirectory:inBundleWithURL 4.0〜
+ URLsForResourcesWithExtension: subdirectory:inBundleWithURL 4.0〜
– resourcePath 10.0 2.0〜
– appStoreReceiptURL 10.7
バンドルディレクトリを取得する
– bundleURL 10.6 4.0〜
– bundlePath 10.0 2.0〜
バンドル情報を得る
– bundleIdentifier 10.0 2.0〜
– infoDictionary 10.0 2.0〜
– objectForInfoDictionaryKey 10.2 2.0〜
– builtInPlugInsURL 10.6 4.0〜
– builtInPlugInsPath 10.0 2.0〜
– executableURL 10.6 4.0〜
– executablePath 10.0 2.0〜
– URLForAuxiliaryExecutable 10.6 4.0〜
– pathForAuxiliaryExecutable 10.0 2.0〜
– privateFrameworksURL 10.6 2.0〜
– privateFrameworksPath 10.0 2.0〜
– sharedFrameworksURL 10.6 4.0〜
– sharedFrameworksPath 10.0 2.0〜
– sharedSupportURL 10.6 4.0〜
– sharedSupportPath 10.0 2.0〜
– resourceURL 10.6 4.0〜
ローカライズリソースを管理
– localizedStringForKey:value:table 10.0 2.0〜
バンドルのコードをロード
– executableArchitectures 10.5 2.0 実行可能アーキテクチャを返します。
– preflightAndReturnError 10.5 2.0〜 バンドルが実行可能かを検証する
– load 10.0 2.0〜 ロードします。
– loadAndReturnError 10.5 2.0〜 ロードして結果を返します。
– isLoaded 10.2 2.0〜 バンドルはロードされているかを返します
– unload 10.5 2.0〜 アンロードします。
ローカライズを管理
+ preferredLocalizationsFromArray 10.0 2.0〜 優先されるローカライズを返します
+ preferredLocalizationsFromArray: forPreferences 2.0〜 ユーザー、バンドルの優先ローカライズを返します
– localizations 10.0 2.0〜 レシーバーのバンドルの範囲内で含まれる全てのローカライズのリストを返します。
– developmentLocalization 10.2 2.0〜
– preferredLocalizations 10.0 2.0〜 バンドル作成ローカライゼーションを返します。
– localizedInfoDictionary 10.2 2.0〜 ローカライズの情報を返します。

+ preferredLocalizationsFromArray:forPreferences: 10.2

+ URLForResource:withExtension:subdirectory:inBundleWithURL 10.6

+ URLsForResourcesWithExtension:subdirectory:inBundleWithURL 10.6

- pathForResource:ofType:inDirectory:forLocalization 10.0

- pathsForResourcesOfType:inDirectory:forLocalization 10.0

- URLForResource:withExtension:subdirectory:localization 10.6

定数
Mach-O Architecture
NSLoadedClasses

通知

NSBundleDidLoadNotification 10.0


UIAccelerationクラス

INDEX>UIKit

クラスの説明
継承 NSObject
準拠 NSObject (NSObject)
フレームワーク /System/Library/Frameworks/UIKit.framework
使用可能 iPhone2.0以降
定義 UIAccelerometer.h

解説

概要

タスク

Accessing the Acceleration Values
x property
y property
z property
timestamp property