トップページ⇒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/
0486名称未設定2013/09/21(土) 15:30:04.24ID:pAQeG45I0
Undeclared selector 宣言されてないセレクタ
ドキュメント見たの? Use the block-based animation methods instead.ってなってるよ。
0487名称未設定2013/09/21(土) 15:40:47.13ID:vb7AAlY80
実機でテストする場合って年間8千円弱払わないとダメですか?
払わないでテストする道はないですかね?
0488名称未設定2013/09/21(土) 16:30:16.44ID:anNh/R4F0
>>486
回答ありがとうございます。
ドキュメントは、どのドキュメントを読めばいいのでしょうか?
0489名称未設定2013/09/21(土) 16:38:22.96ID:6Sc5uUIxi
>>487
払ってる連れ見つけて、試してもらう。
それ以外ではxcodeレベルの開発環境を自分で作るかだ。
0490名称未設定2013/09/21(土) 16:56:22.46ID:pAQeG45I0
>>488
Helpメニューの Document and API Reference ってのがドキュメントだよ。
0491名称未設定2013/09/21(土) 17:05:44.01ID:yzrGI6d10
>>487
万引きする方法はありません。
0492名称未設定2013/09/21(土) 17:27:12.31ID:anNh/R4F0
>>490
大まかですね。
もう少し細かくお願いします。
0493名称未設定2013/09/21(土) 17:54:42.77ID:RgabIcQGP
>>492
おおまかもなにも、>>486と>>490が全て。読んで勉強するしかないよ。あとそのレベルならググればいくらでもサンプルが出てくる
それとも何か、おはようからお休みまで、暮らしをじっと見つめて欲しいのか?
0494名称未設定2013/09/21(土) 18:08:39.36ID:awMiu6KY0
>>487
弱じゃないぞ
0495名称未設定2013/09/21(土) 19:14:19.86ID:anNh/R4F0
>>493
ちゃんと質問に答えてください。
やる気がないのなら、帰って結構です。
0496名称未設定2013/09/21(土) 19:29:50.30ID:RgabIcQGP
>>495
いや、だから、質問に答えてるじゃんかよ。猛烈にやる気あるぜ?
もう一回答えますね。
「>>486と>>490が全て。書いてあるヘルプを読んで勉強するしかないよ。あとそのレベルならググればいくらでもサンプルが出てきます」

自分もそのヘルプを読んでアニメーションの実装をしましたよ。全く難しい内容じゃないです。高卒の自分でも出来る内容ですよ。がんばってください。
0497名称未設定2013/09/21(土) 19:42:45.42ID:anNh/R4F0
>>496
じゃあ改めて質問です。
それではなぜiOS6では警告も出ず動くのに、
iOS7では警告出てアニメーションされないのか?
アニメーションの実装の方法を聞いてるのではありません。
iOS7でのアニメの動作方法を聞いているのです。
問題をよく読みなさい。

ちなみに俺は専卒なので高卒のあなたより学歴は上です。
0498名称未設定2013/09/21(土) 19:44:05.54ID:Vevkqq230
なんやこのゆとり
0499名称未設定2013/09/21(土) 19:48:07.80ID:aYmkxYPQ0
少なくとも人にモノを聞く態度じゃないな。

知っているがおまえの態度が気に入らない (AA略
0500名称未設定2013/09/21(土) 19:49:55.59ID:pAQeG45I0
>>497
http://www.saturn.dti.ne.jp/npaka/iphone/ViewAnimeEx/index.html

ここに有るコードをコピペすればいいよ。iOS7でも動くよ。
ARCならdeallocを消してautoReleaseも消すんだよ。
できるかな?
0501名称未設定2013/09/21(土) 20:02:52.82ID:RgabIcQGP
ううう、誰か助けておくんれ〜専門学校卒様からいじめられてるよ〜〜…

>>497
>それではなぜiOS6では警告も出ず動くのに、
>iOS7では警告出てアニメーションされないのか?

その答えが>>486なんだってばよ〜〜(;つД`)うぇーん
それ以上の理由もねぇってばよぉー

解決するであろう新しい実装方法も>>490のドキュメントだけで十分いける内容なんだよぉ。
日本の中卒程度の英語で十分読めるんだよ、ほんとだよ。

お願いだからドキュメント読もうね、ここまで読んでサンプル試したのにダメだったの、どこが悪いの?(ソース貼り付け)の方がより建設的だし的確な答えもらえると思うよ。
がんばろう、ね(はーと)
0502名称未設定2013/09/21(土) 20:12:23.63ID:qNy+z6x30
ネタに付き合うなってお前らも好きだなあw
他の放置の質問に答えてやればいいのにと思わないでも無い
0503名称未設定2013/09/21(土) 20:26:15.65ID:pAQeG45I0
>>501
いやすまんねw JCを装った釣りかと思ったんだよね。マジだったとはね。
ドキュメントの見方知らないどころか、グーグルも使えない人みたいだね。
0504名称未設定2013/09/21(土) 20:30:50.77ID:qNy+z6x30
>>473
UISearchBar のパーツの構成が変わったからみたい
UIViewがUIViewControllerのviewのように一つ入っていて、パーツはそのsubviewsに入っている

とりあえず、
for(UIView *subView in [[mySearchBar subviews][0] subviews]){
にすれば期待した動きにはなる
0505名称未設定2013/09/21(土) 21:00:07.53ID:anNh/R4F0
>>501
>日本の中卒程度の英語で十分読めるんだよ、ほんとだよ。
私は中卒ではありませんので。

>>503
>ドキュメントの見方知らないどころか、グーグルも使えない人みたいだね。
普段からスタックオーバーフローを使い英語も読めますし、ChromeでGoogleバリバリ使ってますが?

あくまでも質問には答えないようですね。
やられたらやりかえす・・・。
倍返しだ!!

それが私の流儀なんでね
0506名称未設定2013/09/21(土) 21:19:16.09ID:0XQ1veaq0
答えてもらった事がわからないなら、素直に聞き返せばいいのに
わざわざ答えてくれそうな人までうんざりするような事書いてたら
損しかしないと思うのだが。
0507名称未設定2013/09/21(土) 21:20:11.56ID:LPkgI5j50
英語は読めるが日本語と空気は読めないってことじゃね
0508名称未設定2013/09/21(土) 21:40:52.71ID:Vevkqq230
じゃあスタックオーバーフローで英語使って質問しろ
0509名称未設定2013/09/21(土) 22:03:28.69ID:anNh/R4F0
>>506
>>500
それではお聞きしますが、
>http://www.saturn.dti.ne.jp/npaka/iphone/ViewAnimeEx/index.html
>
>ここに有るコードをコピペすればいいよ。iOS7でも動くよ。
>ARCならdeallocを消してautoReleaseも消すんだよ。
>できるかな?

これマジで動くんですね?
俺の既存のコードめっちゃ長いんですよ。
iOS5でも6でも7でも動くのか、
そこんところご教示よろしくお願いします
0510名称未設定2013/09/21(土) 22:12:40.77ID:8QfCvOxD0
>>506
人を見る目が無かったなw残念な事で。マジ御愁傷様です
0511名称未設定2013/09/21(土) 22:42:32.66ID:eBISDoua0
>>485
そもそも、変えれば動く様になるか?と聞く前に動かしたの?
動かなければ、また、その時のエラーを教えてください、となるけど、これでは、答えたくても答えようが無い。
0512名称未設定2013/09/21(土) 22:52:48.15ID:anNh/R4F0
>>511
なるほどですね。
じゃあ実行したあとでまたお聞きします。
現状では、iOS5を基準にして、そのあとでiOS6対応して、現在iOS7対応の段階です。
引き続きよろしくお願いします。
0513名称未設定2013/09/21(土) 22:56:56.11ID:Vevkqq230
悲しいけどこういうアホで非常識な奴が世の中に沢山いるんだよなぁ
0514名称未設定2013/09/21(土) 23:04:29.48ID:anNh/R4F0
明日はプリキュアやトリコ、ワンピースがあり朝が早いので、今日はもう寝ます。
半沢直樹の最終回もありますので、体力を温存しておかなければなりません。
今日の質問に関して、明日またお聞きしますんでよろしくお願いします。
おやすみなさい。
0515名称未設定2013/09/21(土) 23:06:58.18ID:LPkgI5j50
ユーザだけでなく開発側にも来るようになったら世も末
0516名称未設定2013/09/21(土) 23:08:56.84ID:8QfCvOxD0
初心者スレでなに言うてん
0517名称未設定2013/09/22(日) 00:46:21.94ID:j7mtDGam0
質問なのですが、円を-(void)drawメソッドで書いてたんですが、これを20分割したいんです。

今CGContextAddArcで試みているんですが、このメソッドでやるのがいいのでしょうか?ラジアン変換など調べながらやっているんですが上手くいきません。

違うやり方があれば、それも参照したいんですがありますか?
0518名称未設定2013/09/22(日) 00:59:13.33ID:wuanNexO0
20/360をラジアンにすれば簡単
あるいは20/360って角度が分かっているならsinとcosで20回点を描けば?
0519名称未設定2013/09/22(日) 01:20:31.76ID:j7mtDGam0
>>518
static inline float radians(float degrees) { return degrees * M_PI / 180.0; }

これでdegreesに20/360の値を入れて、CGContextAddArcの角度に入れればいいんでしょうか?
0520名称未設定2013/09/22(日) 01:51:41.62ID:wuanNexO0
多分ね
試してごらん
0521名称未設定2013/09/22(日) 01:59:51.16ID:j7mtDGam0
>>520
とりあえずやってみたんですが、線が中心点の真横に伸びてしまします。

CGContextMoveToPoint(context, x, y);        CGContextAddArc(context, x, y, R1, 0, radians(20/360), 0);
CGContextStrokePath(context);

こんな感じで書いているんですが、CGContextは初めて使うのでまだ調べきれていません。

開始地点がおかしいのか、CGContextStrokePathを使うのがおかしいのでしょうか?
0522名称未設定2013/09/22(日) 02:05:01.01ID:j7mtDGam0
CGFloat x = CGRectGetWidth(self.bounds) /2.0;
CGFloat y = CGRectGetHeight(self.bounds) /2.0;
CGFloat R1 = 100.0;
CGRect rectEllipse1 = CGRectMake(x- R1, y- R1 , R1 * 2, R1 * 2);
CGContextFillEllipseInRect(context, rectEllipse1);

ちなみに円はこのように描画しています。
0523名称未設定2013/09/22(日) 02:06:26.66ID:wuanNexO0
角度が出てないだけのような・・
20.0/360.0
でも同じですか?
Objective-Cは基本C言語であることを常に頭の片隅に置いておかないと痛い目に会います。
至れり尽くせりモッサリjavaではないのです。
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
ノベルや漫画のアプリって、ブラウザで見るのに
どのくらい付加機能をつければ審査通るのかな?
■ このスレッドは過去ログ倉庫に格納されています