[SDK]iPhoneアプリ開発初心者質問箱34[touch][iPad]
■ このスレッドは過去ログ倉庫に格納されています
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/
0095名称未設定
2013/09/01(日) 22:29:21.90ID:+hd9A+HI0・mac book pro
・mac mini
・imac
0096名称未設定
2013/09/01(日) 22:48:30.34ID:x7zkSQ7t09A334のメモリを知りたい
256MBなら3Gの試験になるからいいんだけど
0097名称未設定
2013/09/01(日) 23:34:20.77ID:CWYMikby0シミュレータはMac上でのアプリにすぎなく、そういうのはシミュレートしていない
Version 6.0 では2.4Gぐらいで can't allocate になるな
4.x はシミュレータでさえもう 10.8 以降では切られたので、実機が無いのなら切るべきものだろうな
0098名称未設定
2013/09/01(日) 23:36:57.24ID:x7zkSQ7t0切りたいんだけど、iPhone3GSは6.xまでサポートするし
3GSに6入れて使ってる奴なんてほぼ皆無だろうけどもし運悪く当たってしまったら…
0099名称未設定
2013/09/01(日) 23:41:43.35ID:JHdszOEJ00100名称未設定
2013/09/01(日) 23:45:02.56ID:CWYMikby03G は iOS 4.2 までだけど
3GS なら、iOS 6 からサポートすればいいんじゃないの。iOS 5 からでもいいけど
その場合にはデバイスが載っているメモリがいくらだからそれをアプリでいくらまで使えると考えるのはちょっと違うと思うがなあ
できるだけ少なく、どうしようもないんだったら、どうしようもないってことで、シミュレータでテストできるとか関係無さそう
0101名称未設定
2013/09/01(日) 23:50:48.69ID:CWYMikby0そうだね。3GSだったら普通の中古屋でも格安だし
そんなメモリ大喰らいで把握できないなら実機持っておいた方がいいかも
0102名称未設定
2013/09/02(月) 00:38:01.83ID:xv+k0oUV0iPhone4で大丈夫なアプリでも、iPad1stでは起動時に落ちるものがあるぞ。
0103名称未設定
2013/09/02(月) 01:06:38.59ID:kl6YL2FrP0104名称未設定
2013/09/02(月) 09:30:27.36ID:o13XWie500105名称未設定
2013/09/02(月) 10:36:00.39ID:hdDtpGa700107名称未設定
2013/09/02(月) 11:00:43.32ID:mtj1Ip120実用機としてはお話しにならないだろ
0108名称未設定
2013/09/02(月) 14:04:53.18ID:3D+kflgYi幼児用に欲しいがすぐ壊すかもしれないので安いのでいい=古い型、というのは当方の考え。
結構、乳児、幼児用のアプリ出てるから割りと需要あるんじゃないなかな。渡しておくと親の取られないし。
iPhoneはホームボタンが強すぎるから、すぐ危険なアプリがたちあげられてしまうんで、子供用は欲しくなる。
0109名称未設定
2013/09/03(火) 02:27:39.89ID:ZbK2UQfs0SingleViewApplicationで作成して
ViewController.h
- (void)viewDidLoad
{
CGRect rect = [_view frame];
UILabel *label = [[UILabel alloc]initWithFrame:rect];
label.text=@"halloworld。";
[_view addSubview:label];
[super viewDidLoad];
}
すると、変なエラーがでます。
0110名称未設定
2013/09/03(火) 02:52:59.18ID:yThMCMGtPに書くんだ
0112名称未設定
2013/09/03(火) 03:21:57.96ID:EP14CQbN00113名称未設定
2013/09/03(火) 04:27:38.87ID:HNV/0JoWP_viewじゃなくて[self view]で取得しなきゃダメだろ。
0117名称未設定
2013/09/03(火) 10:39:54.87ID:Np9ULK5c00118名称未設定
2013/09/03(火) 13:51:48.69ID:VLalAKm600119名称未設定
2013/09/03(火) 13:59:15.10ID:EP14CQbN0雑誌の懸賞コーナーの「7つの間違い探し」みたいな質問だな。
0120109
2013/09/03(火) 14:27:30.83ID:ZbK2UQfs00121名称未設定
2013/09/03(火) 16:12:21.63ID:WFcW56rO0標準のinfoWindowならselectedMarkerで自動表示できるんですけど
カスタムのinfoWindowのときはどうすればいいんでしょう・・・。
手動でdidTapMarkerとかmarkerInfoWindowとかcallしたけどだめでした。
0122名称未設定
2013/09/03(火) 19:13:50.05ID:KuHsBU0D0viewDidUnloadやdidReceiveMemoryWarningでのリリース対象じゃないよね?
0123名称未設定
2013/09/03(火) 19:24:28.62ID:HNV/0JoWP何言ってんだ…?
autoreleaseしたら、そのブロックを抜けた時点で
いつreleaseされてもおかしくないぞ
0124名称未設定
2013/09/03(火) 20:14:07.56ID:yM8j9Aw703日くらい放置されてるんだが。
0126名称未設定
2013/09/04(水) 13:59:29.36ID:AdcwgznG0どのようにデコードすればいいでしょうか
0128名称未設定
2013/09/04(水) 14:35:48.45ID:caNSVoy400129名称未設定
2013/09/04(水) 14:38:42.20ID:caNSVoy40初心者なので初歩的な質問で申し訳ないのですが。
アプリを作成する際にまず動かしたい内容や表示したい内容をプログラムとして書いて少しずつ完成に近づけると思うんですが
その際にプログラムのサンプルコードを調べて入力をする時にたくさんのサンプルコードが書いてあるので大まかな指示をプログラムす
ることはできますが、もっと細かな動きや内容を指示できるサンプルコードというのはみなんはどのように調べているのでしょうか?
例えば 配列はNSArray を使うなどは有名ですが、これでは行動が限られてしまうようなきがします。
自分の思う通りに細かくプログラムに指示を書き入れるにはどういったやり方が他にあるのでしょうか?
それとも公式のサンプルコードのみを駆使して工夫して作り上げるものなのでしょうか?
今非常にこの件で悩んでますのでアドバイスお願いします!!
長文失礼しました。
0130名称未設定
2013/09/04(水) 15:08:18.39ID:4MFIbIsYi0131名称未設定
2013/09/04(水) 15:13:33.58ID:9OwzXhn30それぞれのコマンドが理解できれば、後は自分で工夫してプログラムを組んでいける。
0132名称未設定
2013/09/04(水) 15:21:52.18ID:0KZxzdsgP0133名称未設定
2013/09/04(水) 15:40:36.76ID:Qy6ExfmO00134名称未設定
2013/09/04(水) 16:29:00.01ID:mZEcq4qJ0あとは自分で考えろってこった
0135名称未設定
2013/09/04(水) 16:34:01.48ID:iPTKLjew0なんとなくしかわからんけど。
「自分の思う通りに細かくプログラムに指示を書き入れる」
ってことをしたいのなら、
公式のサンプルコードだけじゃなく、
Github っていうサイトのプログラムも見たら勉強になると思う。
その際に、ライセンスを遵守するようにしないといけない。
0136名称未設定
2013/09/04(水) 17:21:18.11ID:AdcwgznG0label.text=@"\u65e5\u672c"のようにすれば日本語が表示れるのですが
以下のようなコードでは、文字コードがそのまま出力されてしまいます
ラベルに日本語を表示するにはどうすればいいでしょうか
NSString *csvString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
//この時点でcsvStringは、\u65e5\u672c,\u65e5\u672c\u8a9e
NSArray *nameList = [csvString componentsSeparatedByString:@","];
for(NSString* name in nameList){
label.text=name;//ラベルには\u65e5\u672cと出力される
}
0137名称未設定
2013/09/04(水) 17:26:48.61ID:aF9v25dI0まずノートに簡単なクラス関連図を書いて設計してみれ。
慣れてる奴はサンプルなんて滅多に見てない。
おおまかに設計したらいきなりヘッダにインターフェイスを書いていく。
0139名称未設定
2013/09/04(水) 17:43:05.60ID:/Uzf0qPD0サンプルコードは初見でなにがなんだかを理解するためにある
例えばNSArrayっていったいなんやなねん?あー、配列/リストかあと
配列/リストだとわかれば何ができそうというのが想像できるので、後はDocumentationでメソッドはどんなのがあるのか見る&組み合わせたりするだけ
サンプルコードをいろいろ使ってなにかを作り上げる事はない
サンプルコードをいろいろ使ってなにかを作り上げるコピペプログラマーといわれる人種がいるらしいけど
0140名称未設定
2013/09/04(水) 18:44:29.24ID:iPTKLjew00141名称未設定
2013/09/04(水) 18:48:07.90ID:AdcwgznG0ありがとうございます
文字コードをUTF-8からUTF-16に変換することは可能なのでしょうか
0142名称未設定
2013/09/04(水) 18:57:33.58ID:Q6FVAfpG00143名称未設定
2013/09/04(水) 18:58:41.05ID:qn+YX2Nd0おお、休みだったのか!
ということで、返事が来たんだが、バイナリうpしろ!だそうだ。
何も変更せずにうpすれば良いのかなぁ?
0144名称未設定
2013/09/04(水) 19:04:56.77ID:hXtdhVhg0そりゃ可能だけど、、というか
UTF8から16がまさにNSUTF8StringEncodingだけど、、、、
もしかして、"\uXXXX" という文字列をバイナリに変換したい、という
pack unpack相当の機能のこといってるのかな
0145名称未設定
2013/09/04(水) 20:15:34.50ID:AdcwgznG0label.text=@"\u65e5\u672c"のようにすれば日本語が表示されるのですが
以下のようなコードでは、文字コードがそのまま出力されてしまいます
ラベルに日本語を表示するされるには単に文字コードを変更すればいいのでしょうか
以下のコードのどこを変更すればいいでしょうか
NSString *utf8String = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"utf8String =%@",utf8String);//この時点でutf8Stringは、\u65e5\u672c
label.text= utf8String;//ラベルには\u65e5\u672cと出力される
0146名称未設定
2013/09/04(水) 20:28:53.08ID:ZgGgPitCPようするに読み込んでるファイルにはUTF8で"\u65e5\u672c"と保存されている訳でしょ?
じゃぁエンコーディングを変えればいいとかそういう話ではなくて
読み込んだ後16進数で切り出してunicharに変換しNSStringに変換しないといけない
コードに直接@"\u65e5\u672c"と書いて"日本"と表示されるのは、文字コードを直接指定する形式でリテラルを書いているから
ファイルに"\u65e5\u672c"と書いたのを読み込んで表示しても"日本"と表示されないのは、
そのファイルに保存されているのは"\u65e5\u672c"という文字列であって、"日本"という文字列ではないから
0147名称未設定
2013/09/04(水) 20:35:45.68ID:hXtdhVhg00148名称未設定
2013/09/04(水) 21:54:46.70ID:+BoSEDEA0この辺みたら
ttp://qiita.com/dokubeko/items/03954d2bd8b27e30403e
0149名称未設定
2013/09/04(水) 22:28:15.80ID:cMUnL49T00150名称未設定
2013/09/05(木) 08:44:24.62ID:ilohOTid0セル移動後の関数で、固定したいセルを元の位置に戻そうとしても表示が崩れてしまいます。
0151名称未設定
2013/09/05(木) 09:41:56.26ID:J9xb4+SrP- tableView: canMoveRowAtIndexPath:
で動かしたくないインデックスパスに対してNOを返す
0152名称未設定
2013/09/05(木) 10:45:13.20ID:ilohOTid0それはもう既に設定してあるのですが、他のセルを固定セルの上に移動すると、固定セルも下に動いてしまいます。
これを回避したくて、セルを移動すると固定セルも連動して元の位置に戻るようにしたんですけど、表示が崩れてしまうんです。
多分デリゲートのmoveRowAtIndexPathでまたmoveRowAtIndexPathを呼び出しているからなんでしょうけど、他に使えるメソッドが見つからなくて。。
0153名称未設定
2013/09/05(木) 11:01:26.00ID:J9xb4+SrPあぁ、
- tableView: targetIndexPathForMoveFromRowAtIndexPath: toProposedIndexPath:
も実装しないとダメなんだった
例えば、0〜3を固定、4〜10を可変、11〜20を固定にするなら、
0〜3と11〜20について- tableView: canMoveRowAtIndexPath:でNOを返すだけじゃなく、
4〜10について、- tableView: targetIndexPathForMoveFromRowAtIndexPath: toProposedIndexPath:で
proposedIndexPathが4〜10ならそのままpropoesedIndexPathを、0〜3なら4(可変部の最初)を、11〜20なら10(可変部の最後)を返す。
0154名称未設定
2013/09/05(木) 11:13:30.83ID:ilohOTid0実はそれも…。最初と最後が固定だった場合はそれで大丈夫だと思うんですけど、真ん中のセルはそれだと固定出来ないんです。
要するに、セルをセパレータみたいに使いって、上側はセルの数を3つに固定して、それより多かったら一個下側に移動して、少なかったら一個下から持ってくるみたいな風にしたいんです。
0155名称未設定
2013/09/05(木) 12:02:42.68ID:3Cp2CUnVP0156名称未設定
2013/09/05(木) 12:12:12.54ID:J9xb4+SrP- tableView: moveRowAtIndexPath: toIndexPath:
で常にセパレータの上が3つになるように調整してからreloadDataでも呼んどけばいいんじゃないの
というか、3つ固定で選ばせたいのなら、並び替えじゃなくて、選択でチェックマークつけるようにして、
3つ選んでいるときにだけ閉じることができるようにしてモーダルで呼ぶのが普通じゃねーのと思う
0157名称未設定
2013/09/05(木) 12:18:00.70ID:J9xb4+SrP呼び出し元で、選択されている3つを表示しておいて、どれかをタップしたら
それと交換する奴を、タップしたやつと残りの中からモーダルで選ばせる方が普通か…
0158名称未設定
2013/09/05(木) 12:34:48.47ID:ilohOTid0ですよねー
>>156
はい。もとから代替としてそうしてます^^;
アニメーション切れるのはかっこ悪いからちゃんとした方法があるのか聞きに来たんですけどなさそうですね
ちょっとニッチな条件で並べ替えしか使えないのでぶつ切りのreloadDataで押し通してみます
むやみにreloadDataなんか呼んでリジェクト食らわないだろうか心配ですけど
0159名称未設定
2013/09/05(木) 15:04:14.20ID:apxNTojK0それに紐づけられてるview controllerにコントロールが切り替わりますよね
あれって内部ではどう実装されてるのかどなたかご存じないですか?
UICollectionViewで似たような事をしたいのですが、
選択したview controllerのviewを上位のviewにaddSubViewして
controllerをaddChildViewControllerで設定すればいいのかなと漠然と考えているのですが
0160名称未設定
2013/09/05(木) 15:07:33.01ID:LHDUpyAu0SuperViewよりも大きなSubViewをSuperViewにaddSubviewして、UIView animateWithDurationを用い移動させて表示したいのですが、
SuperViewにaddSubviewした時点で、SubviewのSuperViewより大きな高さと幅は
SuperViewのサイズに変更されてしまうのでしょうか?
現在、そうした事象に陥って悩んでいます。
0162名称未設定
2013/09/05(木) 15:33:27.71ID:Oj5V0Bgw0clipToBoundsがYESならクリップされるが、デフォはNO。
0163名称未設定
2013/09/05(木) 15:41:12.98ID:Oj5V0Bgw0それ自分でview作った方が早いっつーか普通そうする。
見た目が似てるからtableViewを使おうと思うのか?
0164名称未設定
2013/09/05(木) 15:59:12.14ID:LHDUpyAu0ありがとうございます。
そういったやり方もあるのですね。検討してみます。
>>162
ありがとうございます。
設定を確認してみましたがNOでした。
どうにも原因が解らなかったので、addSubViewした後にサイズを動的に変更させるメソッドを作りました。
とりあえずこれでなんとかなりました。
お二方、ありがとうございました。
0165名称未設定
2013/09/05(木) 16:04:42.74ID:ilohOTid0自分でviewを作るというのはtableviewのようなものを作るということでしょうか。
アニメーション部分とか難しそうで手が出せないです。。
0166名称未設定
2013/09/05(木) 16:12:11.91ID:Oj5V0Bgw0上が2つになったら下のCellが上に移動するんだろ?
- (void)moveCell みたいなメソッドで判定してYESなら移動させて、
そのときにアニメーションを追加すればいいじゃん。
0167名称未設定
2013/09/05(木) 17:23:27.47ID:ilohOTid0一から全部レイアウトするんですか?
それともtableviewのサブクラスを作っていじるんですか?
0168名称未設定
2013/09/05(木) 17:48:35.27ID:Oj5V0Bgw0同じくCellViewをつくって、それをViewController.viewにaddSubviewするとかね。
なんらかのトリガーでView_AのCellの数が変わったら[viewController moveCell]; とかね。
アプリの目的がわからんので適当だから、自分の好きな方法でやればいいよ。
0169名称未設定
2013/09/05(木) 17:51:25.60ID:Oj5V0Bgw00170名称未設定
2013/09/05(木) 18:33:32.58ID:Oj5V0Bgw0もう一度レスを読み直したぞ。
要は上は3項目で固定だ。だからこれは専用のViewでいい。(固定のTableViewでもいいかも。)
セパレータもニッチな機能だろうからこれも専用のViewだ。ボタンとラベルみたいなもんだろ?
で、上が減ったら下のTableViewのセルの情報を上のViewに移して、セルは削除だ。
上下のビューでセルの移動は必要無い。解決しただろ?w
0171名称未設定
2013/09/05(木) 18:58:39.63ID:ilohOTid0ああ!すみません!言葉足らずでした。
セパレータ間を自由に行き来しつつ、かつ、上側を3つに固定したかったのでTableViewの移動機能を使っていたんです。
要は三つ目のセルと四つ目の間のボーダーを太くしたような挙動をして欲しいんです。
http://i.imgur.com/LAEjthf.jpg(参考までに)
reloadDataでもなんとかなるので今はこのままでもいいかなーなんて
0172名称未設定
2013/09/05(木) 19:16:09.18ID:cfCMH6J50くそう。めんどくせー
0175名称未設定
2013/09/06(金) 03:01:09.71ID:coGZaLtN0具体的には、
これまで Storyboard で指定された Custom Class 内で
addSubView を繰り返して、コードによってビューを構築していました。
しかし、xib を使えば視覚的にビューを構築できるので、
ぜひ使ってみようと思い xib でビューを構築してみました。
ところが、Storyboard 側で指定していた Custom Class と
今回、新たに作った xib を結びつける方法がわかりません。
できれば、Storyboard から Custom Class を指定するかのように
カスタム xib を指定できるといいのですが、そんなうまい方法はないでしょうか。
よろしくお願いします。
0176名称未設定
2013/09/06(金) 03:28:43.36ID:04edYw9m0それをカスタムクラスの初期化のとこに書けばいいんじゃね
0178175
2013/09/06(金) 10:28:08.55ID:coGZaLtN0ありがとうございます。
Custom Class の initWithCoder で以下のようにすることでやりたいことができました。
- (id)initWithCoder:(NSCoder *)aDecoder
{
self = [super initWithCoder:aDecoder];
UINib *nib = [UINib nibWithNibName:@"CustomView" bundle:nil];
UIView *view = [[nib instantiateWithOwner:self options:nil] objectAtIndex:0];
[self addSubview:view];
return self;
}
0179名称未設定
2013/09/06(金) 10:37:11.41ID:9gObIsHa0私は個人事業主でAndroidのアプリを開発、公開中しております
iPhoneでもアプリを出したいのですが、個人名が表示されないようにしたいです
個人事業者だとアメリカの納税者番号を取得できないようなので困っております
itunes.apple.com/jp/app/tetorisu-monsuta/id614869983?mt=8
具体的に言うと、「開発: Electronic Arts」などの部分を任意に設定・変更できるのでしょうか?
よろしくお願いします
0180名称未設定
2013/09/06(金) 10:40:40.68ID:ouvHYvgtP名前を個人にしたくなければ法人でやるしかない。安く済ませたければLLCでやってみると良いかもしれない。
ttp://d.hatena.ne.jp/pirosap/20130705/1373039061
0181名称未設定
2013/09/06(金) 12:38:36.05ID:ReBAsONn0AndroidとiOSで同じタイトル・機能、デザインのものを出してるようだがUIがどれも糞。
マルチプラットフォームのためにTitaniumやPhoneGapで作っているのかも知れないけど、
Androidってどうしてあんな糞みたいなUIなアプリばかりなのかね。
0182名称未設定
2013/09/06(金) 12:54:45.15ID:p+RSvgHb0>Androidってどうしてあんな糞みたいなUIなアプリばかりなのかね。
Androidアプリ開発やってみたが、
UI作るのiOSよりしんどいよ
UI部品はひと通りあってGUIで一応作れるんだけど、
XcodeのStoryBoardみたいに楽にはできない。
それに、AndroidはテンプレのUI自体良くない。
Androidの開発支援ツールは、iOSに比べると貧弱で、
ライブラリの使い方もiOSより難解。
ある一定の部分まではAndroidのほうが開発しやすいけど、
それを超えるとはるかにiOSのほうが開発しやすい。
しかもAndroidはリバースエンジニアリングされやすい、
というか可能なので、難読化はできてもコードパクられるから、
プログラマもデザイナーも好んで開発しないんじゃないかな。
iOSはリバースエンジニアリング無理だし。
出来ても.hファイルのファイル名が分かるぐらい。
0183名称未設定
2013/09/06(金) 12:59:16.87ID:02jDK2rT0ヘッダに書いてあれば構造体も関数もenumも見えちゃうのかな。
0184名称未設定
2013/09/06(金) 13:36:30.72ID:ReBAsONn0悪用する輩が出てくる。
0185名称未設定
2013/09/06(金) 13:47:48.95ID:HjBIBWsjP0186名称未設定
2013/09/06(金) 14:00:39.17ID:ouvHYvgtPAndroidはネイティブ(C++)で開発出来るSDKもあったとおもうが、そっちもリバースされやすいんかね?
0188名称未設定
2013/09/06(金) 19:28:09.05ID:GeTHPDim0ここ10年ぐらいリバースしてねぇな
0189名称未設定
2013/09/06(金) 21:06:33.65ID:w4FDq81W0一画面だけxibファイルを使って画面推移させたいんだけどどうすればいいかな?
0190名称未設定
2013/09/06(金) 22:39:44.37ID:6NAO6k0X0条件: iPhone 4、iPhone 4S、iPhone 5 および iPod touch (第5世代) 互換 iOS 4.3 以降が必要
どうやったら3GS切り捨ててこういう条件に出来るのかが知りたい
0191名称未設定
2013/09/06(金) 22:41:22.55ID:6NAO6k0X0■ このスレッドは過去ログ倉庫に格納されています