AppleWalker

Walker Softwareのサポートページです。 Mac iPhoneなどApple系のことを書いていきたいと思います。 訪問してくれた、みなさんよろしくね。(^^)ニコ

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
12



応援しよう!
banner3.jpg
 
 
 
アクセス数
 
 
Twitter
 
 
 
 
 
 
Apple-Style Plus
 
 
ApplePeople
 
 
 
 
 
 
 
 
全記事表示リンク
 

iPhone開発に便利なTips

[iPhone][SDK][Apple]

iphone_sdk.png

開発のTipsです。

え?と、何かiPhoneで重い作業をさせているときに、ユーザーに
ボタン等を操作させたくないときって、ありますよね?

hogeButton.enabled = NO;

で一時的にグレーアウトしてもいいんですが、すべて操作
できないようにした方が、話は早いですよね。
そんでもって、わかりやすいように私のアプリの例です。
アプリ名は、iInfoなので、iInfoAppDelegateというファイルが
テンプレートで作成すると作られます。
使うpropertyは、userInteractionEnabledというやつです。

何をするものかというと、ユーザの操作を受け付けるかどうか
の設定をするものです。
YESがデフォルトですね。当然、操作できないとこまりますから。

すべて操作できないようにするということですが、置き換えれば
おおもとから操作できないようにしてしまえということです。
iPhoneでは、一つだけwindowをもっています。
その上に、viewControllerに対してViewというよな、基本構成で
作っていきます。(例外もたくさんありますが)
その、おおもとのwindowじたいを操作できないようにすれば
すべて、画面を触っても操作できないようになります。
で、サンプルコードです。
私のアプリのソースコードの一部ですが、

 iInfoAppDelegate *appDelegate =
  (iInfoAppDelegate*)[[UIApplication sharedApplication] delegate];
  appDelegate.window.userInteractionEnabled = NO;

これでいいのかわかりませんが、これならどこからでも直接
画面の操作をできなくすることができます。
自分のアプリの名前に置き換えてやればいいだけです。
もちろん、あとでNOのところを同じように、YESにして呼んで
やらないと操作できないままになっちゃいますよ。(笑

------このブログを見てくれてる皆様へ-----

アプリを発売するにあたって、サポートサイトが必要ということで
始めたブログですが、おかげさまで2000アクセスを超えました。
私にとっては、ビックリの数字です。
Apple-Styleの所長さん、ApplePeopleのNOBONさん
もとまかさん、AppBankさん、見てくれてる皆様。
本当に感謝しています。ありがとうございます。

これからも、不定ですが更新していこうと思います。
私のアプリともどもよろしくお願いします。

それでは、よいお年を?!

関連記事


会社の人に、KYって言われました。もうちょっとあたまに来ましたよ。そんな事をい...

Comments

Leave a Comment


Body