トップページ⇒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/
0455名称未設定2013/09/20(金) 10:40:32.40ID:JeasXaKx0
>>454
上の計算はわかるだろ? 斜辺=√(自乗+自乗) な。
あとは逆三角関数で角度出すだけだ。簡単ピョンだ。
0456名称未設定2013/09/20(金) 10:41:53.54ID:IknB9uzq0
だから判定用の配列作ってそこからひけば
どんな形状でも使えるって前の時言ったよな
0457名称未設定2013/09/20(金) 10:47:12.66ID:jZGyRIfj0
>>455
なるほど、ありがとうございます。
0458名称未設定2013/09/20(金) 10:49:31.30ID:jZGyRIfj0
>>456
まだまだわからないことだらけで、判定用の配列が申し訳ないんですがわからないのです・・・。

もう少しだけ噛み砕いて教えては頂けませんか?お願いします
0459名称未設定2013/09/20(金) 11:05:41.70ID:5WT85Nva0
ダーツの様な単純な図形の場合は、
座標とって数学の計算で判定した方がいいと思うよ。正確だしプログラムも少なくて済む。
0460名称未設定2013/09/20(金) 11:06:13.25ID:7R+Jz7Vk0
>>458
ヒットテスト以前に、イベント駆動とか分かってるのかなぁ。
で、いきなり扇型で考えるのは難しそうなので、
1. 画面を4分割(縦横それぞれ半分ずつ)にしてどこが押されたか判定
2. 画面を100分割(縦横それぞれ10分割)
3. 2と同じサイズの四角形を画面上にランダムに10個くらい配置して、どれが押されたか判定
4. 四角形ではなく三角形を適当に配置して判定
みたいに、順を追って考えてみるといいかも。
0461名称未設定2013/09/20(金) 11:08:03.11ID:5Rp5E1Nsi
456ではない。
つ 色分けしたダーツボード絵を描いて、矢がポイントされた箇所の色を抽出。
その色に点数をリンクすれば。
的外の範囲は、円内外判定関数で分ければ良い。
0462名称未設定2013/09/20(金) 11:17:52.04ID:jZGyRIfj0
>>460
ありがとうございます!アップルのドキュメントを読んではいるんですが、まだうまくイメージがつかめなくて

これをしながら勉強してみます!
0463名称未設定2013/09/20(金) 11:23:18.45ID:jZGyRIfj0
>>461
なるほど!そんな方法があるんですね!

これやる場合は全部の色を違う色にしたほうがいいんですか?それともシングル、ダブル、トリプルはそれぞれ統一した色にして、その色で×2、×3とかにすればできますか?
0464名称未設定2013/09/20(金) 11:30:55.31ID:jZGyRIfj0
>>459
数学の計算ですか、いろいろ調べてみます!
0465名称未設定2013/09/20(金) 11:40:15.35ID:jZGyRIfj0
出かける予定があるので

今日はありがとうございます。少しずつですが、進めていきたいと思います。
04664142013/09/20(金) 11:55:05.43ID:Li8SFH2U0
>>446
これ
UIActionSheet *actionSheet = [[UIActionSheet alloc]
initWithTitle:@"Title"
delegate:self
cancelButtonTitle:nil
destructiveButtonTitle:nil
otherButtonTitles:@"First", @"Second", @"Third", @"Fourth", nil];
[actionSheet showInView:self.view];
0467名称未設定2013/09/20(金) 13:06:15.52ID:7R+Jz7Vk0
>>461
オフスクリーンならともかく、今どき画面上の色を調べるのはお勧めできないなぁ。
0468名称未設定2013/09/20(金) 13:41:22.21ID:7N6RiLuH0
ああ

プログラム 組んでも組んでも おわらない
0469名称未設定2013/09/20(金) 15:10:52.36ID:42npx1Sm0
開発者の方はどこで仕事をとってきていますか?
0470名称未設定2013/09/20(金) 17:12:18.21ID:5Rp5E1Nsi
>>467
画面上の色ではなく、表示用のボードと同じサイズの割り出し用画像を用意して、そこから抽出。
0471名称未設定2013/09/20(金) 18:56:11.87ID:YSrQ1duei
実機テスト時に、カメラによる写真撮影のビューが起動できない(画面が真っ白)になるのですが、原因としてはどのようなことが考えられるでしょうか?
0472名称未設定2013/09/20(金) 19:01:24.19ID:PMs8m0JwP
iOS7 / xcode5 にしてから、↓のが出るようになった。シミュレータ一応動くからいいんだけど…皆さんとこはどーですか?

Details: Failed to register "/System/Library/CoreServices/CoreTypes.bundle/Contents/Library/MobileDevices.bundle" with Launch Services, error code: -10811.
Function: __RegisterUTIsIfNeeded_block_invoke
Thread: <NSThread: 0x7fd7f0412830>{name = (null), num = 1}
Please file a bug at http://bugreport.apple.com with this warning message and any useful information you can provide.
0473名称未設定2013/09/20(金) 22:10:30.86ID:1J3UGPWd0
ios7でsearchbarのキーボードカラーを変えたいのですが以下のようにするとうまくいきません
どのようにすればいいでしょうか?
for(UIView *subView in mySearchBar.subviews){
if([subView isKindOfClass: [UITextField class]])
[(UITextField *)subView setKeyboardAppearance: UIKeyboardAppearanceDark];
}
0474あ2013/09/21(土) 00:40:17.07ID:O1oAIGjf0
会員制のブログをアプリから投稿できるようにしたいのですが、
一般的にはどのような作り方をするのでしょうか?
アプリ側から、id、パスワード、記事タイトル、本文をpost送信して、
サーバ側(php)で、idとパスワードが合ってるかを確認して、
DBに書き込むって流れでいいのでしょうか?
0475名称未設定2013/09/21(土) 00:48:49.02ID:v1gWg31G0
>>474
Web API があるならそれで。無いならそんな感じだが、Web Appの実装による
0476あ2013/09/21(土) 01:09:01.82ID:O1oAIGjf0
>>475
サーバ側は自前のものです。
毎回、IDとパスワードを投げることに抵抗があるのですが、
そういうものなのですか?
0477名称未設定2013/09/21(土) 01:15:59.81ID:v1gWg31G0
>>476
自前だとどうにでもなるだろう&ここでなんで聞いているのかさっぱりだぜえ
ログイン時にTokenゲットしてーのそれを時間内で使い回しじゃね
Wep App 作るならここじゃないだろう
0478あ2013/09/21(土) 01:28:24.68ID:O1oAIGjf0
>>475
サーバ側は自前のものです。
毎回、IDとパスワードを投げることに抵抗があるのですが、
そういうものなのですか?
0479あ2013/09/21(土) 01:29:50.21ID:O1oAIGjf0
>>475
サーバ側は自前のものです。
毎回、IDとパスワードを投げることに抵抗があるのですが、
そういうものなのですか?
0480あ2013/09/21(土) 01:30:34.23ID:O1oAIGjf0
ミス、、連投すみません。。
0481あ2013/09/21(土) 01:46:12.36ID:O1oAIGjf0
>>477
ログイン時にTokenゲットしてー、、
そこらへん詳しく知りたいです。参考サイトとかもしあったら教えてほしいのですが。
0482名称未設定2013/09/21(土) 05:49:50.97ID:Yq8cZ4fj0
>>481
webのログイン処理と同じようなことをアプリでやればいい。
(けど、セキュリティとか分かってない素人が作ったアプリは使いたくないなぁ。)
0483名称未設定2013/09/21(土) 07:24:39.07ID:eBISDoua0
初心者アプリ…
0484名称未設定2013/09/21(土) 13:12:37.61ID:X+d6y7wV0
iOS Salesが更新されるのって日本時間のいつ頃かね
だいたい夕方かなと思ってるんだが
0485名称未設定2013/09/21(土) 15:06:00.51ID:anNh/R4F0
UIImageがアニメーションせず、警告が出ます。CoreGraphicsに変わったということらしいのですが、よくわかりません・・・。
Appleの開発者フォーラムを見たら、

UIImage* img = [UIImage imageNamed:@"guiltyicon.png"];

↓

UIImage *image = [[UIImage imageNamed:@"whatever"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

ということが書いてありました。
こういうふうにに変えればいけるのでしょうか?


   //UIViewアニメーションのデリゲート
[UIView setAnimationDelegate:self];
[UIView setAnimationWillStartSelector:@selector(someAnimationWillStart:)];  ←←←←←←←←←←←←←←←←ここで警告
[UIView setAnimationDidStopSelector:@selector(someAnimationDidStop:finishedcontext:)]; ←←←←←←←←←←←←←←←←ここで警告


警告は Undeclared selector 'someAnimationWillStart: です。

iOS5、6、7対応アプリなのですが、
バージョン分岐が必要ですか?
その場合、7のUIImage(CoreGraphics)でのアニメーション方法について、
どうかご教示よろしくお願いします。
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;
}
こんな感じですか?
■ このスレッドは過去ログ倉庫に格納されています