2010年11月26日

Delegate -別のViewからインスタンス変数を読み込む-

例えば
Switchの状態を別のView(別のクラス)で
も認識させる。

こんなイメージ

photo.png

AppDelegate.h(.m)にインスタンス変数と
プロパティを追加

#import
@interface Akn_TestAppDelegate : NSObject

{
NSUserDefaults *defaults;
}
@property (copy) NSUserDefaults *defaults;
@end

各クラスのSwitchを使うメソッドに
Akn_TestAppDelegate *delegate =
(Akn_TestAppDelegate *)[UIApplication
sharedApplication].delegate;
を追記。
Akn_TestAppDelegateクラスにアクセスする為の
ポインタを用意。それを経由してAkn_TestAppDelegate
のアクセッサメソッドを呼ぶことで値を得る。

各クラスでAppDelegate.hを#importすること
忘れずに。

defaults =[NSUserDefaults standardUserDefaults];
はAppDelegate.mのdidFinishLaunching..メソッドに
移動した。
初期化はここに書くといいか。



posted by 西 at 11:52| 開発勉強 | このブログの読者になる | 更新情報をチェックする

2010年11月22日

UISwitch

InterfaceBuilderでswitchを付けている。

ネットだとみなさんコーディングしているようで。


@interface Akn_info : UIViewController {
IBOutlet UISwitch *switch1;
//switch用
NSUserDefaults *defaults;
}
//switch1がいじられたら
- (IBAction)switch1Action:(UISwitch *)sender;
@end

@implementation Akn_info
- (void)viewDidLoad {
[super viewDidLoad];
defaults =[NSUserDefaults
standardUserDefaults];

/*NSUserDefaults未設定
(アプリインストール後初めてのswitch)
の場合*/
if (![defaults stringForKey:@"swkey"]) {
switch1.on = YES;
[defaults setInteger:1 forKey:@"swkey"];
}
else {
switch1.on = [defaults integerForKey:
@"swkey"];
}
}

- (IBAction)switch1Action:(UISwitch *)sender
{
switch ([sender isOn]) {
case YES:
[defaults setInteger:1 forKey:@"swkey"];
//onにした時の処理をここに
break;
default:
[defaults setInteger:0 forKey:@"swkey"];
//offにした時の処理をここに
}
}

InterfaceBuilderで繋ぐこと忘れずに。

メソッドにまとめたほうがいいか。

viewDidLoadのsetIntegerが入ってる
1行はいらないか。


ipod_5th.jpg

まだやっているんだ。

posted by 西 at 19:47| 開発勉強 | このブログの読者になる | 更新情報をチェックする

2010年11月17日

Rejectされない為に -機能美とよばれるUIを目指して-

AlertViewにTextFieldをのせる。

AlertView作ってからaddSubviewで
textField入れた。


別のViewを作ることで考えていたけど、
何度もViewがかわる(多くの画面遷移)は
ややこしく、美しくない。

極力シンプルに。

だからAlertを使う事にした。

少しでも複雑になる事を懸念して、
本当はその機能を実装することすら
やめようとしていたけど。


シンプルさを求める理由は、
コンシューマの利便性を考えて。


addTextFieldWithValue:label:
textFieldAtIndex:

この二つはダメみたい。Rejectらしい。


今回のUIAlertView、
message: には改行をいくつか入れてtextFieldの
場所を確保している。

あとはユーザーが入力した時に出る変換候補の
羅列やOKボタン等を考慮して、
CGRectMakeで微調整。

写真.PNG



ScrollViewでフリック動作を感知。
touchesBegan(touchesEnded)が使えないらしい。
WebViewでも使えなかった。
TableViewも使えなそう。。
このようにUIResponder、ダメっぽいが
UITouchイベントも取れない?(UIWebView)

これは重要度が低いので、次期アップデートに検討
することで見送る。
 →「フリック動作」を「ボタン押下」
   に置き換える。

写真-1.PNG

普通のUIViewで試した。
動く。



iOS4.2「写真」のアクションシート、
項目が増えて画面いっぱいに。
なんかサードパーティのアプリみたいに
なってきた。

写真を載せたかったがやめておく。

有償Developerだけの秘密のような気もする。
英語わかってないし、気付かないうちにNDA
交わしてたりしたら。



作業中のシミュレータで発表内容を知る。

bee.jpg

Twitterのタイムライン上では、
昨日(16日)の朝から一部のマニア達が
少しはしゃいでいたようで。

posted by 西 at 02:04| 開発勉強 | このブログの読者になる | 更新情報をチェックする

2010年11月12日

release忘れとか

yajirushi.jpg

初めて見た。


[NSDate date]

[[[NSDate alloc] init] autorelease]と同じ。


ローカライズ
NSLocalizedString関数
.stringsファイル
ターミナルから or こっち

posted by 西 at 23:31| 開発勉強 | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は180日以上新しい記事の投稿がないブログに表示されております。