[SDK]iPhoneアプリ開発初心者質問箱34[touch][iPad]
レス数が1000を超えています。これ以上書き込みはできません。
0001名称未設定
2013/08/19(月) NY:AN:NY.ANID:ykyhR6cZ0■質問する前に■
1. 質問は日本語もしくはObjective-Cで
質問に質問で返されても逆切れしない。それは質問の仕方が悪いってことだよ。
2. どういう内容であれレスをもらったら報告とお礼の言葉を忘れずに。
回答者は自分の時間を使って親切で回答してくれています。
3. 回答者は自分も初心者であった事を忘れずに。
4. マルチポスト(複数のスレに同じ質問を書込むこと)は厳禁!
5. 質問は可能な限り具体的に。
ただ「エラーが出ます」ではエスパーかスタンド使いでなければ答えられません。
エラー内容をちゃんと書きましょう。
6. わからない部分のコードをコピペすると手っ取り早いです。
7. このスレは無料プログラミング教室ではありません。
「○○の仕方を教えてください」という質問はなるべく避けてください。
「自分で調べたけどわからなかった事」を質問するというスタンスを忘れずに。
8. バグを安易にOSや開発環境のせいにしない。
自分の知識の無さを棚に上げて人のせいにするなんて百年早い。
■関連スレ
iOSアプリ 個人開発者の雑談スレ13
http://anago.2ch.net/test/read.cgi/mac/1369912531/
iPhone iPad iOSプログラミング Part1
http://toro.2ch.net/test/read.cgi/tech/1314086681/
【脱獄】iPhoneのJailbreakアプリ開発スレ
http://anago.2ch.net/test/read.cgi/mac/1337945208/
※前スレ
[SDK]iPhoneアプリ開発初心者質問箱33[touch][iPad]
http://anago.2ch.net/test/read.cgi/mac/1370485786/
0951名称未設定
2013/10/16(水) 03:00:41.90ID:SXEuB76i0解決したなら、まっいいか。
0952名称未設定
2013/10/16(水) 11:32:55.89ID:QesErf1sP多分contextをAppDegateで共有するようにしたんだと思うけど、もう少し質問して別のアプローチを学んだ方がいいと思うぞ。
解決したなら、いいんだけどさ。
0953名称未設定
2013/10/16(水) 14:21:55.06ID:dfTj85nq0>>952
ありがとうございます。NSUserDefaultsでの保存もそうなのですが
親子構造を持たない画面遷移の場合、「-viewWillAppearでreloadData」だけによる解決以前の
もっと全体の問題のようですね…
自分はウェブプログラミングからこの世界に入りまして
ウェブでDBを扱う時は、各画面その都度DBにつないでデータを取り出し表示させればいいので
なかなかiOSの考え方を理解するのに戸惑っています。
0954名称未設定
2013/10/16(水) 22:33:26.44ID:W1V/N/R40reloadData の完了を待って処理したい場合どうすればいいですか?
TableView の場合だとこんな感じでいけるっぽいが CollectionView だとうまくいかなかった。
http://qiita.com/corocorococoro/items/1c80681cd7e1fddc3ba3
0955名称未設定
2013/10/16(水) 22:47:52.38ID:e63nOU1VP0956名称未設定
2013/10/16(水) 22:56:50.34ID:wMHElLcY0同じ質問がここにもあるが、
http://stackoverflow.com/questions/14020027/how-do-i-know-that-the-uicollectionview-has-been-loaded-completely
reloadの完了でなにをしたいの?って言われてるぞ。
0957954
2013/10/17(木) 00:11:22.43ID:nV5ptTFL0すべてのセルが描画されたタイミングで各セル内に隠してた view を順番に表示させるということを
やりたいんです。
サッカーの観客がやるウェーブみたいに右から左に向かって順に表示されていくようなイメージです。
なので各セルを描画中するタイミングではなく、reloadData が完了して見えてるセルがすべて
描画されたタイミングを起点にしてアニメーションを設定する必要があるのです。
0958名称未設定
2013/10/17(木) 00:45:07.17ID:vBdk41fWi0959名称未設定
2013/10/17(木) 01:59:07.37ID:cRQ9KSHv0セルのcontentViewの描画が表示個数分終わったかチェックするしかないかな。
reloadDataから描画完了までスクロールをロックすれば可能だろう。
描画中にスクロールされた場合は判別出来ない。
0960名称未設定
2013/10/17(木) 03:15:29.12ID:8aaT70woi実はCoreDataが特殊なんだけどな
0961954
2013/10/17(木) 09:54:44.73ID:nV5ptTFL0"表示が終わった"タイミングを取得する方法ってありますか?
>>959
collectionView:cellForItemAtIndexPath: 内で処理済みセル数をチェックするってことですかね?
だとするとあまりいけてないので冒頭に質問した reloadData の完了を待つという方法を採用
したいのです。
0962名称未設定
2013/10/17(木) 16:12:43.94ID:eNIFJn0D0reloadDataってデータソースのデータが大幅に変わったからそれに合わせて画面を書き換えよってのじゃないの
reloadDataはアプリ側から呼ぶもんじゃないの?だったらrealodDataを呼んだ直後でいいような
reloadDataが予測不能で呼ばれるようだったら、UICollectionViewのサブクラスでオーバライドして[super reloadData]の後でやりゃいいだろう
というのは、単に「reloadDataの完了を待つ」というのだけの話しで、本当にやりたいこととはズレているような
0964名称未設定
2013/10/17(木) 17:10:45.65ID:cRQ9KSHv0>collectionView:cellForItemAtIndexPath: 内で処理済みセル数をチェックする
違う、collectionView:cellForItemAtIndexPath:でわかるのは各セルの描画の「開始」だ。
collectionView:cellForItemAtIndexPath:でビューをcontentViewにaddSubviewするだろ。
その各ビューのdrawRect:の末尾からViewControllerにコールバックする仕組みを作る。
そのコールバック内でカウントして、[collectionView indexPathsForVisibleItems] count]と照合するんだよ。
原始的だろ? だがこれしか各セルの「contentViewの描画完了」を取得する方法が無い。
ところで各contentは描画に最大でどれくらい時間がかかる?
全部で0.1秒とかのレベルなら単純にperform…afterDelayでやればいいと思うが。
>>962
それもやったが駄目だった。
[super reloadData]から先が非同期なので、描画終了はどうやってもわからない。
さらにおそらくreloadData中でもscroll可能と思われる。
0965名称未設定
2013/10/17(木) 18:40:52.99ID:jGC1h1KxP0966名称未設定
2013/10/17(木) 19:04:19.22ID:cRQ9KSHv0reloadDataの前にscrollEnabled = NO しなきゃだめだろね。
そのときに現在の表示数を取得しておくと。
しかしおそらく描画より画像の準備・取得に時間がかかってると思うんだがね。
0967名称未設定
2013/10/17(木) 23:30:10.12ID:cRQ9KSHv0これやってみ。
[collectionView performBatchUpdates:^(void){ [_collectionView reloadData]; }
completion:^(BOOL finished){ NSLog(@"finished"); }];
0968954
2013/10/17(木) 23:55:12.66ID:nV5ptTFL0ID:cRQ9KSHv0 さんも言われているように、reloadData は非同期処理なんですよね。
>>963
やりたいことはできるんですが、一瞬とはいえスクロールを固定しないとうまく動かないのには
ちょっと違和感を感じました。自分がユーザーだったら「このアプリいけてねえ」って言うかなと。
>>964
現状は perform…afterDelay で試してます。概ねうまく動くのですが以下のようなケースでうまく
動きません。
画面上に並び順を変更するための SegmentedControl があるのですが、これを素早く押して
ウエーブ中にソートを切り替えるようなことをやると描画が崩れてしまいます。
ウエーブ中はユーザーからのアクセスを制限する必要があるかもしれないですが、できる限り
それは避けたいと思ってます。
0969名称未設定
2013/10/18(金) 00:15:06.08ID:qMonEr5n0reloadData関係無くないか?
SegmentedControl からのトリガーで、もしウェーブ中ならそれをキャンセルして、
始めからウェーブし直すってことだろ?
描画が崩れるってのはどんなふうに?
0970954
2013/10/18(金) 00:16:51.89ID:6nwwrgLx0performBatchUpdates に渡してる block 内で reloadData しているものの
collectionView:cellForItemAtIndexPath: が呼ばれない現象に遭遇しています。
ただ、これを使えば reloadData の完了を待ってアニメーション処理を行えそうです。
ありがぞうございました!
0971954
2013/10/18(金) 00:21:46.99ID:6nwwrgLx0隠してたビューが消えずに残ったままになります。
おっしゃる通り reloadData 関係ないです。アニメーションの制御に問題がありそうです。
0972名称未設定
2013/10/18(金) 12:38:02.01ID:5GUmOYpn0btnA = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[btnA setTitle:@"a" forState:UIControlStateNormal];
0973名称未設定
2013/10/18(金) 12:44:09.50ID:5GUmOYpn0btnA = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[btnA setTitle:@"a" forState:UIControlStateNormal];
btnA.frame = CGRectMake(margin, firstrowTopY, btnwidth, btnheight);
btnA.titleLabel.adjustsFontSizeToFitWidth = YES;
[self.view addSubview:btnA];
としてみたんですけどなりませんでした。どうすればいいでしょうか。
0974名称未設定
2013/10/18(金) 15:24:42.72ID:Y1NRMlzJ0ajustsFontSizeToFitWidthは収まりきれない時の動作なんで、フォントサイズをでっかくしといてみろ。
0975名称未設定
2013/10/18(金) 15:40:11.84ID:evDahClw0MKMapViewのuserLocationを自分で用意したCCLocationで上書きしようにもreadonlyになっててできません……。
何かいい方法があったら教えてください囧rz
0976名称未設定
2013/10/18(金) 16:45:43.94ID:lnTGh2Br00977恐縮です
2013/10/18(金) 17:00:47.60ID:N8FssH9r0ttp://addsict.hatenablog.com/entry/2013/01/05/002049
を参考にコードを書きたいと思っていますがうまくいきません。
まずどこにそのコードを書くべきかがわかっていません。
さらに自分がコードを書くべき場所と思っているappDekegateのapplicationDidBecomeActive
にそのままコピペすると//〜構造体の作成 の箇所でUse of undeclared identifier のエラー表示が続出してしまいます。
どなたか識者のかたこの情けない度素人にどのようにすれば良いか、または私がどこを理解していないかご指南いただけませんでしょうか?
0978名称未設定
2013/10/18(金) 18:07:42.76ID:ZdmhZzq10(Manage In-App PurchasesのCreate NewにFree Subscriptionしかない)
「iPhone&Androidアプリ内課金プログラミング完全ガイド」という本によると、ここでConsumableとか選べるはずなんですが…
これでは開発できないかと思うのですが、どうすればいいのでしょうか?
0980名称未設定
2013/10/18(金) 18:34:13.91ID:u3lzPnIj0デバッグ用ならできた気がする(シミュレータだけかも)けど、最終的なアプリでは無理。
自分でそれっぽいピンを立てるしかないけど、下手にやるとリジェクト対象かもね。
0981名称未設定
2013/10/18(金) 18:39:15.13ID:GwXkuTPbiなんだかわからないけど本家貼っておきますね。
https://developer.apple.com/jp/devcenter/ios/library/documentation/StoreKitGuide.pdf
0984名称未設定
2013/10/18(金) 19:01:34.40ID:fXdx7sI/0必要なヘッダーファイルをimportしたらいいよ。
どれが必要か、どうすればいいかはぐぐってくれ。
0985名称未設定
2013/10/18(金) 19:01:46.43ID:Vex2ZE2c0微妙に残念だけど、ありがとう。
ついでに知っていたら教えて欲しいんですが、GPSの位置情報を偽装する系のアプリはどんな仕組みなんでしょう?
0987名称未設定
2013/10/18(金) 19:31:51.90ID:lnTGh2Br0>>986
レスありがとうございます。
やりたいことは、常に壁紙背景をWebページ(HTML)として表示するということです。
ホーム画面あるじゃないですか。
JailBreakしたらいろいろいじれるんですが、
WinterBoardというiPhoneの見た目を変えるアプリがありまして、
それで壁紙などをカスタマイズ出来るんですけど、
テーマ(HTML)を反映させるためにリスプリング(プチ再起動)しなければならないんですね。
リスプリングっていうのが1分半〜2分ぐらいかかりまして、
いちいち壁紙を変えるのに時間かかってたら面倒くさいじゃないですか。
そこで、常にHTML表示を有効にしておけばいいと考えた次第です。
Objective-Cの中にHTMLのコード入れて操作出来ればいいと思ったんですけど、
他の方法としてとりあえずObjective-Cのコードでswitch文書いて、
HTML1、HTML2、・・・を参照するということは可能でしょうか?
ファイルを参照すればいいだけの話だと思いますが、
こういう方法であってますでしょうか?
現在、プライベートメソッドとサンプルの Tweak(脱獄アプリ)のコードを参考にして、
「SBFWallpaperView」というプロパティのアルファ値を0.0fにすることができました。
さらに充電されているかというBOOL値を強制的に常にYESにすることで、
充電されていないときにも常にバッテリーをロックスクリーンに表示することができました。
こんな感じです。
http://uproda.2ch-library.com/718527saA/lib718527.png
自分がやりたいことは、ホーム画面の壁紙を常にWeb表示(HTML)にしたいということです。
この場合、「WallPaper」に関連したメソッドをいじるという発想であっているでしょうか?
・ファイルの参照(HTML)
・どのプライベートメソッドをいじればいいのか
この二点どうかご教示よろしくお願いします。
0988名称未設定
2013/10/18(金) 19:35:37.89ID:CoKVhdx100989名称未設定
2013/10/18(金) 19:38:11.86ID:v4qQI3So0脱獄の事は全くわからんけど、UIWebViewというクラスのリファレンス観ればいいんでねーの。
変数に突っ込んだHTML文字列を表示させたり、ローカルに保存したHTMLファイルを表示することは簡単に出来るよ。
0992名称未設定
2013/10/18(金) 19:39:29.03ID:GV9VSzoK0脱獄アプリを作ろうとしてんの?
Undocumentedを聞いてもしょうがないなと思うのだが。そういうのは自力でなんとかするもんだろう
0993名称未設定
2013/10/18(金) 19:42:13.81ID:lnTGh2Br0>変数に突っ込んだHTML文字列を表示させたり、ローカルに保存したHTMLファイルを表示することは簡単に出来るよ。
なるほど!
そういうことは普通のAPIでも出来るというわけですね。
0995名称未設定
2013/10/18(金) 19:48:17.66ID:fXdx7sI/0ホーム画面にHTMLを表示させることは普通はできないよ。
脱獄アプリの話だったら他いったほうがいいかな。
0996恐縮です
2013/10/18(金) 20:26:14.82ID:N8FssH9r0お返事ありがとうございます。確かにその通りですね。今回は個人的利用を目的にしているのでどんな技術を利用しても構わないというところがあります。しかし何分にも素人なので行き詰まってしまいました。
>>984
ありがとうございます。大変大きなヒントをもらえた気がします。精進いたします!
>>990
ありがとうございます。ほほぅiOS7にもなにか隠れた可能性がありそうですね。研究してみます!
0998名称未設定
2013/10/18(金) 20:58:32.29ID:lnTGh2Br0ちょっと言ってる意味わかんないですねー。
Appleに開発者登録してアプリもリリースしてるし、
Cydia Storeにも脱獄アプリリリースしてるんで、
入獄と脱獄両方の開発者なんですよ。
ご理解いただけたでしょうか。
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。