トップページ⇒mac
1001コメント350KB

[SDK]iPhoneアプリ開発初心者質問箱34[touch][iPad]

■ このスレッドは過去ログ倉庫に格納されています
0001名称未設定2013/08/19(月) NY:AN:NY.ANID:ykyhR6cZ0
iPhone, iPod touch用アプリケーションの開発を始めたばかりの初心者向け質問スレ。

■質問する前に■
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/
0524名称未設定2013/09/22(日) 02:10:55.26ID:wuanNexO0
さてと、Mac開きますかね・・
0525名称未設定2013/09/22(日) 02:13:25.37ID:j7mtDGam0
>>523
同じです。20.0/360.0でも円の中心点から真横に線が伸びてしまいます。
0526名称未設定2013/09/22(日) 02:31:24.15ID:eARrEJ5B0
CGContextAddArcって説明読んだ感じ指定した角度に向かって直線を引く関数なんじゃないかな
0527名称未設定2013/09/22(日) 02:32:11.89ID:i2XNRXrI0
UIBezierPath bezierPathWithArcCenter:radius:startAngle:endAngle:clockwise:
の方がわかりやすいと思うけど
0528名称未設定2013/09/22(日) 02:34:45.17ID:j7mtDGam0
>>526
今自分も試しにAddArcだけで描画してみたら、中心点から真横に伸びて円があった接点部分から下に少し伸びてました。

これを使おうとおもったのは円グラフを作ってるサイトを見て、使えないかなと思ってやったので、これではできないですね。
0529名称未設定2013/09/22(日) 02:35:47.16ID:j7mtDGam0
>>527
試しにそのコードを調べて使ってみます!!
0530名称未設定2013/09/22(日) 02:37:05.35ID:eARrEJ5B0
いや用途としてはあっていたのか
何か勘違いしてた
0531名称未設定2013/09/22(日) 02:46:09.46ID:j7mtDGam0
中心点から角度18度で円に接するように線を伸ばしたいなら、座標で終点も決めた方が早いとかはないですよね?

円に接するように終点を指定するなんてできますか?
0532名称未設定2013/09/22(日) 02:55:36.54ID:j7mtDGam0
ちょっと今日はいい方法が思いつかないので、また明日考えることにします。

ありがとうございます。
0533名称未設定2013/09/22(日) 03:26:10.35ID:wuanNexO0
void CGContextStrokeArcInRect(CGContextRef context, CGRect rect, CGFloat radius)
{
CGContextMoveToPoint(context, CGRectGetMinX(rect), CGRectGetMinY(rect));
CGContextAddArc(context, CGRectGetMinX(rect), CGRectGetMinY(rect), radius, 0, 20.0*M_PI/180.0, 0);
CGContextClosePath(context);
CGContextDrawPath(context, kCGPathStroke);
}
0534名称未設定2013/09/22(日) 03:26:43.02ID:wuanNexO0
- (UIImage*)drawArcAtPont:(CGPoint)point radius:(CGFloat)radius degree:(CGFloat)degree
{
UIImage *image = [UIImage imageNamed:@"Default.png"];
UIGraphicsBeginImageContext(image.size);

CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetInterpolationQuality(context, kCGInterpolationHigh);

[image drawInRect:CGRectMake(0,0,image.size.width,image.size.height)];

[[UIColor whiteColor] set];
CGRect rect = CGRectMake(160.0, 200.0, 100, 100);
CGContextStrokeArcInRect(context, rect, 50.0);

UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

return newImage;
}
0535名称未設定2013/09/22(日) 03:29:58.48ID:wuanNexO0
ラジアン変換ミスだっただけ?
あ!rectに内接してないが許してorz
0536名称未設定2013/09/22(日) 03:40:14.32ID:u/nC+kvp0
xcodeでアプリ制作して、実機に転送しました。
制作したアプリに広告(nend)を表示させようと考えておりますが、実機やシミュレーターの段階でも広告は表示されるのでしょうか?
それともアプリを公開しないと表示されないのでしょうか?
0537名称未設定2013/09/22(日) 03:43:51.46ID:wuanNexO0
気持ち悪いコードだったらからついでに内接させた
void CGContextStrokeArcInRect(CGContextRef context, CGRect rect, CGFloat radius, CGFloat startAngle, CGFloat endAngle)
{
CGContextMoveToPoint(context, CGRectGetMidX(rect), CGRectGetMidY(rect));
CGContextAddArc(context, CGRectGetMidX(rect), CGRectGetMidY(rect), radius, startAngle*M_PI/180.0, endAngle*M_PI/180.0, 0);
CGContextClosePath(context);
CGContextDrawPath(context, kCGPathStroke);
}
0538名称未設定2013/09/22(日) 03:44:42.89ID:wuanNexO0
- (UIImage*)drawArcAtPont:(CGPoint)point radius:(CGFloat)radius startAngle:(CGFloat)startAngle endAngle:(CGFloat)endAngle
{
UIImage *image = [UIImage imageNamed:@"Default.png"];
UIGraphicsBeginImageContext(image.size);

CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetInterpolationQuality(context, kCGInterpolationHigh);

[image drawInRect:CGRectMake(0,0,image.size.width,image.size.height)];

[[UIColor whiteColor] set];
CGRect rect = CGRectMake(point.x-radius, point.y-radius, radius*2, radius*2);
CGContextStrokeArcInRect(context, rect, radius, startAngle, endAngle);

UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

return newImage;
}
0539名称未設定2013/09/22(日) 03:55:08.19ID:Qd7nSYce0
>>536
表示されるよ。表示されないなら実装の仕方がおかしい。
0540名称未設定2013/09/22(日) 04:04:18.67ID:u/nC+kvp0
>>539
ありがとございます。
設定を見直します。
0541名称未設定2013/09/22(日) 04:15:25.91ID:rncE9ZP30
>>532
たぶんあれでしょ、描画だけじゃなくhitTestもしたいんでしょ?
//メンバー
CGMutablePathRef mPaths[20];
int hitIndex;
BOOL hit;

- (void)createPaths {
CGPoint arcCenter = CGPointMake(self.bounds.size.width/2, self.bounds.size.height/2);
CGFloat arcRadius = 100.0;

for (int i=0; i<20; i++) {
CGFloat startAngle = -0.5*M_PI + i * 2*M_PI/20;
CGFloat endAngle = startAngle + 2*M_PI/20;

mPaths[i] = CGPathCreateMutable();
CGPathMoveToPoint(mPaths[i], NULL, arcCenter.x, arcCenter.y);
CGPathAddArc(mPaths[i], NULL, arcCenter.x, arcCenter.y, arcRadius, startAngle, endAngle, 0);
CGPathCloseSubpath(mPaths[i]);
}
}

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
CGPoint p = [[touches anyObject] locationInView:self];
hit = NO;
for (int i=0; i<20; i++) {
if (CGPathContainsPoint(mPaths[i], NULL, p, NO)) {
hitIndex = i; hit = YES; break;
}
}
[self setNeedsDisplay];
}
0542名称未設定2013/09/22(日) 04:20:38.75ID:rncE9ZP30
- (void)drawRect:(CGRect)rect {
CGContextRef ctx = UIGraphicsGetCurrentContext();
[[UIColor blueColor] setFill];
[[UIColor redColor] setStroke];

for (int i=0; i<20; i++) {
CGContextAddPath(ctx, mPaths[i]);
}
CGContextDrawPath(ctx, kCGPathFillStroke);

if (hit) {
[[UIColor yellowColor] setFill];
CGContextAddPath(ctx, mPaths[hitIndex]);
CGContextDrawPath(ctx, kCGPathFillStroke);
}
}

360° == 2πラジアン、AddArcの12時は-0.5πラジアン 時計回りは0
ドキュメントではclockWise == 1になってるけど、逆じゃないかと思うんだよなw
0543名称未設定2013/09/22(日) 05:09:31.58ID:wuanNexO0
あ!エスパーだ!
0544名称未設定2013/09/22(日) 07:58:44.09ID:ocKP1/5e0
>>539
正式な広告もですか?
Appleのテスト用が流れるだけではないですか?
0545名称未設定2013/09/22(日) 08:34:57.41ID:Qd7nSYce0
>>544
nendの話だよ。nend使ったことない?
0546名称未設定2013/09/22(日) 09:22:19.40ID:ocKP1/5e0
>>545
あ、すみません、nendって書いてありましたね、失礼しました。
0547名称未設定2013/09/22(日) 12:30:12.94ID:xCJOiSjMP
Xcode5での公開用ビルドについて質問です。

Provisioning Profileをつくるところまではできました。
次にオーガナイザに登録するみたいなのですが、Xcode5ではオーガナイザからは登録できなくなっていました。
そこでいろいろ調べてみると、Preferences→Accountsで登録することがわかりました。
+ボタンでAppleアカウントを追加しようとIDとPassをいれたんですが、リジェクトされます。
もちろん、アカウントはAppleDeveloperProgramを購入したときのアカウントを使ってます。
アカウントとAppleDeveloperProgramとのひも付け?みたいなものができてないのでしょうか?
0548名称未設定2013/09/22(日) 12:43:02.32ID:/ACz8TQ60
Xcode4から移行したからそこは何もしなくても入ってたけど
試しにDeveloperProgram関係無いAppleID入れたら普通に登録できたけど
0549名称未設定2013/09/22(日) 12:45:25.58ID:/ACz8TQ60
でもそこは複数のアカウント切り替えるのに使うとこじゃないのかな
キーチェーンアクセスに登録しておけばBuildSettingにでてこない?
0550名称未設定2013/09/22(日) 13:47:33.24ID:j7mtDGam0
>>541,533
ありがとうございます!!書いてもらったコードを使って自分で勉強してみます。

はい、ヒットテストもしたかったです。ありがとうございます!
0551名称未設定2013/09/22(日) 14:28:30.81ID:j7mtDGam0
>>541
あの質問なのですが、-(void)createPathsは使うんですよね?
どこにも呼び出された形跡ないので、よくわかりません。

質問ばかりで申し訳ないです。
0552名称未設定2013/09/22(日) 14:39:06.96ID:rncE9ZP30
>>551
UIViewのサブクラスでやるでしょ?
そのビューのinitWithFrame:で[self createPaths]; して始めにパスを作っちゃう。
あと、-(void)deallocを追加してCGPathRelease()を書いとく。
CGPathはcreateまたはcopyしたらreleaseするように。
そのとき、ARCなら[super dealloc];は書かない。
0553名称未設定2013/09/22(日) 14:43:00.77ID:rncE9ZP30
>>551
deallocはこんな風に
- (void)dealloc {
for (int i=0; i<20; i++) {
CGPathRelease(mPaths[i]);
}
}
0554名称未設定2013/09/22(日) 14:51:11.06ID:j7mtDGam0
>>553
はい,UIViewのサブクラスでやってます。
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
[self createPaths];
  }
return self;
}
こんな感じですか?
0555名称未設定2013/09/22(日) 14:53:13.47ID:rncE9ZP30
>>554
そうそう、あとは上のコードをコピペするだけで動くよ。
参考にしてみて。
0556名称未設定2013/09/22(日) 14:57:28.61ID:j7mtDGam0
>>555
あのーそれが何にも描画されないんですよ。一応このUIVIewのサブクラスはviewcontrollerが元々持っているviewに紐付けしています。

これがダメということはないですよね。
ちゃんとヘッダーの方にも
CGMutablePathRef mPaths[20];
int hitIndex;
BOOL hit;
をメンバー変数として書いているんですが、何にも表示されません。
0557名称未設定2013/09/22(日) 14:59:19.41ID:j7mtDGam0
書いて貰った奴を繋げただけですが

- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
[self createPaths];
}

return self;
}
- (void)dealloc {
for (int i=0; i<20; i++) {
CGPathRelease(mPaths[i]);
}
}
- (void)createPaths {
CGPoint arcCenter = CGPointMake(self.bounds.size.width/2, self.bounds.size.height/2);
CGFloat arcRadius = 100.0;

for (int i=0; i<20; i++) {
CGFloat startAngle = -0.5*M_PI + i * 2*M_PI/20;
CGFloat endAngle = startAngle + 2*M_PI/20;

mPaths[i] = CGPathCreateMutable();
CGPathMoveToPoint(mPaths[i], NULL, arcCenter.x, arcCenter.y);
CGPathAddArc(mPaths[i], NULL, arcCenter.x, arcCenter.y, arcRadius, startAngle, endAngle, 0);
CGPathCloseSubpath(mPaths[i]);
}
}
0558名称未設定2013/09/22(日) 15:00:22.17ID:j7mtDGam0
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
CGPoint p = [[touches anyObject] locationInView:self];
hit = NO;
for (int i=0; i<20; i++) {
if (CGPathContainsPoint(mPaths[i], NULL, p, NO)) {
hitIndex = i; hit = YES; break;
}
}
[self setNeedsDisplay];
}


- (void)drawRect:(CGRect)rect {
CGContextRef ctx = UIGraphicsGetCurrentContext();
[[UIColor blueColor] setFill];
[[UIColor redColor] setStroke];

for (int i=0; i<20; i++) {
CGContextAddPath(ctx, mPaths[i]);
}
CGContextDrawPath(ctx, kCGPathFillStroke);

if (hit) {
[[UIColor yellowColor] setFill];
CGContextAddPath(ctx, mPaths[hitIndex]);
CGContextDrawPath(ctx, kCGPathFillStroke);
}
}
0559名称未設定2013/09/22(日) 15:01:39.15ID:j7mtDGam0
テンプレのsimple vIewでやってます。viewcontrollerの方には何にも書いていません
0560名称未設定2013/09/22(日) 15:04:49.14ID:rncE9ZP30
>>559
↓viewControllerに書かなきゃだめだよw
#import "MyView.h"

- (void)viewDidLoad { //またはviewDidAppear: で
[super viewDidLoad];
MyView *myView = [[MyView alloc] initWithFrame:self.view.bounds];
self.view = myView;
}
0561名称未設定2013/09/22(日) 15:10:26.02ID:j7mtDGam0
>>560
できました!!ありがとうございます!
そうですよね、createPathを呼び出すためには生成しないとだめでした。
勘違いしてました。

書かれてることの半数がわかりませんが、このコードに書かれてることとりあえず理解して、自分で作れるようにがんばります!!
0562名称未設定2013/09/23(月) 17:02:10.77ID:H16mpLII0
storyboardからcellにlabelを乗せたものについてframeをコードで設定したいと思っているのですが、

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

UILabel *label = (UILabel *)[cell viewWithTag:1];
label.frame = CGRectMake(0, 0, 0,0);

〜〜

のようにframeを変更しても反映されません。
初歩的な質問で申し訳ありませんが解決法について教えてください。
0563名称未設定2013/09/23(月) 17:35:50.23ID:Pb8B24Ym0
>>562
labelの値がnilなんじゃね
0564名称未設定2013/09/23(月) 18:03:16.10ID:H16mpLII0
>>563
すいません初心者なものでもう少し詳しく解説して頂けないでしょうか?
よろしくお願いします
0565名称未設定2013/09/23(月) 18:05:31.66ID:YgI67sNDP
[cell setNeeDisplay];
いれてみたらどうかな
0566名称未設定2013/09/23(月) 18:10:54.10ID:Pb8B24Ym0
>>564
UILabel *label = (UILabel *)[cell viewWithTag:1];
NSLog(@"%@", label);
label.frame = CGRectMake(0, 0, 0,0);
0567名称未設定2013/09/23(月) 18:15:54.93ID:EIHpy1mS0
>>562
これ、UITableViewCell拡張して、drawRectでやらないと領域サイズ変更できんよ
iOS6は、だけど。
iOS7の話ならまだやってないからわかんね
0568名称未設定2013/09/23(月) 18:28:28.69ID:Pb8B24Ym0
>>562
なるほど、Prototype Cellからの生成時はframeは効かないな。キャッシュされているのだと効くが
Prototype Cellから生成時には特殊な事をしているのだろう。インスタンス化まだされていないとかかな

とりあえず、そんなことするのだったら Cellをxibなどで別にして、以前と同じようにキャッシュにヒットしなかったら自分で生成かな
0569名称未設定2013/09/23(月) 18:45:52.74ID:H16mpLII0
>>565
>>566
>>567
レスありがとうございます
iOS6と7で微妙にラベルの位置が変わってしまったのでどうにか調整しようと考えてました。

setNeeDisplayでも駄目だったので
drawRectで調べてみます。
0570名称未設定2013/09/23(月) 18:46:55.06ID:Pb8B24Ym0
>>562,568
NSLogでみると毎回違うからインスタンスとしては作られているのであろう
なんか知らんが Prototype Cellからの生成時はcellForRowAtIndexPath:を抜けた後で、Prototype Cellから元に戻すのではないかという仮定で、じゃ、それが終わった後にやりゃいいんじゃねってことで
dispatch_async( dispatch_get_main_queue(), ^{
label.frame = CGRectMake(0, 0, 0,0);
} );
とすれば思惑通りにはなる/なった。

まあ、こんなへんてこなことをしたらわけのわからんバグになることもあるので、無難に俺お薦めの>>568か>>567だろうな
0571名称未設定2013/09/23(月) 18:48:37.23ID:Pb8B24Ym0
>>569
それだったら、iOS6用とiOS7用のリソースを別にすりゃええやんとおもうのだがなあ
0572名称未設定2013/09/23(月) 20:02:21.38ID:m4mnk/GI0
>>571
親切に検証までありがとうございます
正直スキルが無いんでリソース分けるとか???
という感じです

出来る方法で頑張って実装してみます。
dispatch~のコードも後でためさせてもらいます(__
0573名称未設定2013/09/23(月) 20:08:39.77ID:EIHpy1mS0
分けるのはiOSのバージョンによって分けられる。
Storyboardを二種(iOS6、iOS7を別々で)用意しておけば、分けたバージョンでStoryboardも画面設計が楽でしょ?

バージョン毎に分岐する方法は検索かけてくれ
0574名称未設定2013/09/23(月) 20:15:10.88ID:OqqNTyMhi
すみません
xcode5で変な窓が出てきて適当に進めたら
オーマッチリンカーとかいうエラーが大量に出てきてランできなくなってしまいました。。。
どうやったらランできるようになるでしょうか。
ちなみにシミュレーターでは動くのですがアイフォン5で動かそうとすると200個以上のエラーが出ます
0575名称未設定2013/09/23(月) 20:25:07.36ID:Pb8B24Ym0
>>572
んー、そのていどではStoryboardだと、もひとつPrototype Cellを付ける(UITableViewCellを追加するだけ)でいいんじゃね
別のIdentifierにして、OSのバージョンによって
dequeueReusableCellWithIdentifier:CellIdentifier
の、CellIdentifierを変えるだけ

ほぼ全く同じで同じ事を二度繰り返すようでめんどくさいだろうが、そんな頻繁に変えるわけでもないだろうしと思う
0576名称未設定2013/09/23(月) 20:26:30.27ID:ZMClDNhr0
歴史をねつ造する韓国に未来はない!

歴史をねつ造する韓国に未来はない!

歴史をねつ造する韓国に未来はない!

歴史をねつ造する韓国に未来はない!

歴史をねつ造する韓国に未来はない!

韓国は、朝日新聞と共謀して従軍慰安婦問題をねつ造するな!

韓国は、朝日新聞と共謀して従軍慰安婦問題をねつ造するな!

韓国は、朝日新聞と共謀して従軍慰安婦問題をねつ造するな!

韓国は、朝日新聞と共謀して従軍慰安婦問題をねつ造するな!

韓国は、朝日新聞と共謀して従軍慰安婦問題をねつ造するな!

韓国は、朝日新聞と共謀して従軍慰安婦問題をねつ造するな!

韓国は、朝日新聞と共謀して従軍慰安婦問題をねつ造するな!

韓国は、朝日新聞と共謀して従軍慰安婦問題をねつ造するな!

韓国は、朝日新聞と共謀して従軍慰安婦問題をねつ造するな!
0577名称未設定2013/09/23(月) 20:27:11.51ID:Pb8B24Ym0
>>573
そ、そ、そゆことでもあった
0578名称未設定2013/09/23(月) 20:44:31.11ID:EIHpy1mS0
他人の節介やいてないで自分のこともやるか

>>577
落ち着けwwww
すげぇな。
俺はどのデザインパターンが適用されてるとかわかってないけど、調べて努力してるんだなってのがよくわかるわ

>>574
…その変な窓て何さ?
窓に関しては閉じてしまったから残ってないかもしれんけど。。
どういうエラーが出てるかを丸っと一文だけでも書かんと、自分でそのエラーで調べろって言われちゃうぜい
0579名称未設定2013/09/23(月) 21:19:40.96ID:OqqNTyMhi
>>578
たぶんXcode 5にマイグレートする類の窓だと思うんですが、上からニュッと出てくる感じのやつです。
エラーはMach-O Linkerでした。
Undefined symbols for architecture armv7:
とかいうやつです。
じゃあarmv7じゃなければ動くの?と思ってアイフォン4とアイパッド2で動かしたら動きました。
そんなもんarmv7にコンパイルされてねーぞ!ということなので、
ビルドフェイジズを見直してBuild Active Architecture OnlyをNoにしたらアイフォン5でも動きました。
ありがとうございました。
0580名称未設定2013/09/23(月) 22:48:15.89ID:CAzWTpKMI
Xcode5で、UIPickerViewのデフォルトの外観が変わりましたが
従来の外観に戻す方法が解りません。

Xcode4(iOS6)の様な外観に変更する方法を教えて下さい。
宜しくお願いします。
0581名称未設定2013/09/23(月) 23:07:48.07ID:eZWl2s150
かなりの初心者です。
リアルタイムでカメラ画面に画像をフィルタリングしながら音楽を流したいのですが、可能でしょうか?
0582名称未設定2013/09/23(月) 23:20:13.12ID:yIynIVKZ0
>>581
YES
0583名称未設定2013/09/24(火) 00:02:33.63ID:nZHRqo3MP
>>580
6のSDK使うしかない。新しいので諦めな。
0584名称未設定2013/09/24(火) 00:03:31.02ID:4tFU9aBr0
>>582
ありがとうございます。
頑張ります。
0585名称未設定2013/09/24(火) 08:35:40.56ID:/g5MBrmz0
ノベルや漫画のアプリって、ブラウザで見るのに
どのくらい付加機能をつければ審査通るのかな?
0586名称未設定2013/09/24(火) 10:11:44.20ID:o2UXe/sn0
教えてください。
[[UIScreen mainScreen] applicationFrame];
で値を取得するとios3.2では縦横の向きに合わせてとれたのですが
ios7ではとれませんでした。
ios7で向きにあわせて取るのはできないのでしようか?
0587名称未設定2013/09/24(火) 10:34:27.11ID:qNzRGx4qi
もうstoryboard強制なの?
0588名称未設定2013/09/24(火) 10:40:02.67ID:omfp3rxvP
>>587
んにゃ、そんなわけない。
0589名称未設定2013/09/24(火) 15:58:14.47ID:/McohhEA0
>>586
iOS7で云々なのに、以前の話しがiOS3.2かよっ

UIScreen :
デバイスの向きに合わせてくれない(ステータスバー分originはなんかしてくれるようだが変)

UIWindow :
デバイスの向きに合わせてくれない(ステータスバーなんて知らん)

UIViewControllerのview(UIWindow直下のview) :
frame はデバイスの向きに合わせてくれない(ステータスバーなんて知らん)
boundsでやっとデバイスの向きに合わせてくれる(ステータスバーなんて知らん)

だよ。iOS7では。iOS6ではステータスバー分がちょっとややこしい。
0590名称未設定2013/09/24(火) 18:17:48.71ID:6JVZ0JoG0
これはいつも混乱してしまい、レイアウトで鬱プラス錯綜状態になるので、参考になります。感謝。横から失礼。
0591名称未設定2013/09/24(火) 19:24:25.69ID:/g5MBrmz0
iOS7のAppStoreってレビュー投稿が1件だけだと表示されないけど、
何件で出てくるんですかね
0592名称未設定2013/09/24(火) 21:16:23.51ID:akiYSAGDi
5件くらいじゃね?
0593名称未設定2013/09/24(火) 21:21:24.54ID:4gVplJuT0
>>591
わからんけど、今appstoreおかしいからそのせいじゃ?

うちのも、今のバージョン4件レビューついてるのに表示されない。今までのバージョンの方には表示されるのに。
0594名称未設定2013/09/24(火) 21:49:44.72ID:4S79OzS30
それずっと前からだよ。
いつからかはわからんけど、ウチのアプリは今年春にはそんな状態だった。
なんらかの条件があるのかも知れん。
0595名称未設定2013/09/24(火) 22:47:47.95ID:8eTHVD7h0
ios7からcurrentInputModeがdeprecatedになっているのですが
代用のapiが見つかりません。
ios7でキーボードの種類を判別するにはどうすればいいのでしょうか
  UITextInputMode *tinput = [UITextInputMode currentInputMode];
if ([[tinput primaryLanguage] isEqualToString:@"ja-JP"] ) {
//日本語キーボード
}else{
//英語キーボード
}
0596名称未設定2013/09/24(火) 23:01:23.36ID:8ZgqrCm50
>>583
アドバイスありがとうございました。
旧SDKを使用するというのは頭に無かったので参考になりました。
トライしてみます。
0597名称未設定2013/09/24(火) 23:27:21.04ID:/g5MBrmz0
>>592-594
少ないうちはわざと表示しないようにしてると思うんだが…
俺の別のアプリの3つのは出てるから、3つからかな
0598あ2013/09/25(水) 00:12:39.43ID:FKjBhab+0
クラスについて書籍で勉強中なのですが、その中に

継承されるのはインスタンスメンバのみ
(メンバ(プロパティとメソッド)には、クラスメンバとインスタンスメンバがあります。
継承されるのはインスタンスメンバのみです。)

とあるのですが、
NSMutableArray *arr = [NSMutableArray array];
のように、arrayは親クラスNSArrayのクラスメソッドだと思うのですが、
これは、クラスメンバも継承しているんじゃないんですか?

なにか根本的に間違った理解をしているのですか?
よろしくお願いします。
0599名称未設定2013/09/25(水) 00:47:21.11ID:NJd4Zzls0
>>598
クラスメソッドも継承されるしオーバーライドできる。
何の本見たの?
0600あ2013/09/25(水) 00:50:08.30ID:FKjBhab+0
>>599
詳細! Objective-C iPhoneアプリ開発 入門ノート [単行本]
大重 美幸 (著)
のp50に書いてます。。
0601名称未設定2013/09/25(水) 00:55:51.70ID:NJd4Zzls0
試しにNSObjectのサブクラス Child を作って、次のようにオーバーライドしてみる。

+ (BOOL)isSubclassOfClass:(Class)aClass
{
NSLog(@"Child");
return 0;
}

で、ViewControllerからコールする。

[Child isSubclassOfClass:nil];

やってみよう。
0602名称未設定2013/09/25(水) 01:39:53.41ID:43jN2auG0
>>598
>継承されるのはインスタンスメンバのみ
>(メンバ(プロパティとメソッド)には、クラスメンバとインスタンスメンバがあります。
>継承されるのはインスタンスメンバのみです。)
それってC++やJavaの説明のような。
ObjCにはクラスのプロパティはないし、そもそもメンバなんて言わない。
ObjC分かってないやつが書いたんじゃね?
0603名称未設定2013/09/25(水) 03:29:18.29ID:mMC5V53X0
>>600
"入門"とか"はじめての"とか"絶対に挫折しない"とか書いてある本は基本的に全て地雷。
結局、萩原本を頭に叩きこむか、英語が読めるなら公式のドキュメントを読むのが最短ルート。
0604名称未設定2013/09/25(水) 06:38:51.63ID:S3Sp+C4M0
>>598
Objective-Cは起動時に使われてるクラスの親がすべて作られる。
インスタンスを生成するには、その既に存在してる親クラスに
alloc、initというメッセージを送って実際に使用するクラスを作る
また、これでわかるように親クラス自体もメッセージを受け付けているので
親クラスだけが実行できるタイプのメッセージで
親自体の設定や動作を変えることができる。

というファクトリクラス関係の話とか概念を
他の言語の概念(オブジェクト指向の一般的な言葉でなく)で
説明しようとしてていろいろごっちゃになってんじゃねぇかな…
下手したら著者が理解してねぇ。
0605名称未設定2013/09/25(水) 07:37:33.74ID:weNgTYH10
え、起動時?
必要なクラス以外作らないでしょ?
メモリがいくらあっても足らんぞw
ApplicationとかRuntimeはObjectじゃないし。
0606名称未設定2013/09/25(水) 07:41:09.34ID:3BuvFOZn0
レビューに書いてる奴になんとかして連絡取る方法ないものか…
アップデートして起動時に○○さんご連絡下さい表示しかないの?するわけないけど
0607名称未設定2013/09/25(水) 09:21:46.57ID:PMTamdOWP
>>606
それができないのがAppStoreのもどかしいところ。
レビューに書かれた時点で諦めなきゃしょうがないな。
0608名称未設定2013/09/25(水) 14:27:54.91ID:YPglkPpf0
初めてin app purchaseを実装してテスト購入なども済ませ
アドオンの審査等も問題なく終えてるのですが、
アプリがアップデート公開されたものの
購入ボタンを押してもアドオンの情報が返りません

アプリ自体の公開と
アドオンの反映にズレがあるのは珍しくないのでしょうか?
0609名称未設定2013/09/25(水) 14:44:27.32ID:gcMksJwCI
xcode5でコンパイルして、ios7のiphoneで動かした際、
ステータスバーにビューが食い込んでしまいます。
フルスクリーン設定にしたときと同様の見た目です。
どうすれ今まで通りにステータスバーを設定できますか?
0610名称未設定2013/09/25(水) 14:48:35.31ID:3BuvFOZn0
>>609

>>287と>>290を見てください
0611名称未設定2013/09/25(水) 14:49:50.94ID:nregmMD6i
>>609
ステータスバーとビューが別のレイヤー扱いになったから、それを元に設計するしかない。
何かの設定で切り替えられるものじゃないよ。
0612名称未設定2013/09/25(水) 15:03:48.86ID:6JdzFtJAP
delta何とかで調整
0613名称未設定2013/09/25(水) 15:12:22.81ID:PMTamdOWP
iOS7でツールバーの透過設定したらテーブルビューの最後のセルがツールバーの下からでてきません。
どうしたらいいっすか?
0614名称未設定2013/09/25(水) 15:25:27.45ID:PMTamdOWP
ストーリーボードちょこちょこいじってたら解決しました。
06156092013/09/25(水) 15:27:38.53ID:gcMksJwCI
>>610
ありがとうございます。
その方法はネット検索等で知り、出したり消したりは可能だったのですが、
ビューがステータスバーに重なって表示されてしまうので困っています。
表示y座標を全て+20にすれば解決なのですが、簡単な方法があればなと思った次第です。

>>611
別レイヤー扱いになったということは、
やはり表示座y標を全て+20するしかないのでしょうか?
別の方法として、self.view.boundsを利用して各ビューの先頭で
ビュー全体のy座標を20調整するという方法でも実現できたのですが、
そのような手法しかないということですね?
0616名称未設定2013/09/25(水) 15:57:50.87ID:Eke82f400
iTunes Connectのキーワード登録って言語増やせばその分また登録出来るんですかね?
一度試したんですが反映されたキーワードとされてないキーワードがあるんですがなんか決まりあるのかな
言語関係なく100bytes以内ですかね?
0617名称未設定2013/09/25(水) 18:30:47.85ID:3BuvFOZn0
キーワードにライバルアプリ名いれたけど通ったわ
向こうは審査とすんじゃねえよ!ってムカついてるだろうなw
0618名称未設定2013/09/25(水) 19:27:29.89ID:folhh/gS0
画面の右下あたりに今のviewにおおいかぶさるようにして
「更新しました」みたいな自動で消える一時的なメッセージを表示したいのですが
実現するのに何かいいライブラリはあったりしますでしょうか?
もしくは実現するのにいい実装方法はありますでしょうか?
0619名称未設定2013/09/25(水) 19:44:36.02ID:6JdzFtJAP
テキストを一定時間だけ表示したら?
0620名称未設定2013/09/25(水) 19:58:35.71ID:J2f30NfK0
>>618
イロイロ探したが手頃なのがないので自前で用意したよ。その方がトラブルも少ないぜよ。
0621名称未設定2013/09/25(水) 20:05:15.35ID:NJd4Zzls0
適当だがこんな感じでw
typedef enum {
messagePositionRightBottom;
} MessagePosition;

@interface UILabel (MyLabel)
+ (void) showMessage:(NSString *)message position:(MessagePosition)position duration:(CFTimeInterval)duration;
@end
0622名称未設定2013/09/25(水) 22:34:12.58ID:vpBvj02x0
下のような、一覧から詳細画面に push で遷移するような汎用的なナビゲーションを作って

UINavigationC → UITableViewC -(push)→ UIViewC

こんな感じで、viewControllerA と viewControllerB に同じ構造のナビゲーションとして
埋め込みたいのです。

viewControllerA
┗ UINavigationC → UITableViewC -(push)→ UIViewC

viewControllerB
┗ UINavigationC → UITableViewC -(push)→ UIViewC

が、UITableViewC の内容が表示されません。
push を使わずに modal であれば以下のようなことはできています。

viewControllerA
┗ UITableViewC -(modal)→ UIViewC

modal の場合は以下のようなことをやって、
UITableViewC を viewControllerA に突っ込んでます。

[viewControllerA addChildViewController: UITableViewC]
[viewControllerA.view addSubview: UITableViewC.view]
UITableViewC.view.frame = viewControllerA.view.frame


NavigationViewC をかませて push 遷移させようとするとうまくいかないのはなぜでしょう。
0623名称未設定2013/09/25(水) 22:42:52.06ID:cbhcxo1M0
初歩の初歩の質問で申し訳けありません

http://www.kyoji-kuzunoha.com/2013/02/xcode-app-6.html
このurlの メソッド(処理)を記述 で- (BOOL)textFieldShouldReturn:〜〜return YES;
}

を記述した際にエラーが出てきました。
どういった事で間違いを指摘されてるのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています