[SDK]iPhoneアプリ開発初心者質問箱29[touch][iPad]at MAC
[SDK]iPhoneアプリ開発初心者質問箱29[touch][iPad] - 暇つぶし2ch116:名称未設定
12/10/04 12:56:14.74 vOM2hj/Q0
>>111
なんとなくループの中でarc4randomって気持ちが悪いような
これ初期化+取得だよね?
10マスごとになってるってことは0か2が常に来てそうな気はするけど

117:名称未設定
12/10/04 13:02:47.29 XMYp+1x5P
>>113,>>115
常に細々とした変更があるんですね・・
ありがとうとざいました

118:名称未設定
12/10/04 14:49:15.80 teGIClblO
URLリンク(another-alice.jp)


119:>>94
12/10/04 15:10:58.82 WYaX/wUd0
>>114
ありがとう!ありがとう!ありがとう!
本当>>114さんありがとう!一生チュッチュしてあげる、まじでありがとおおおおおお

120:名称未設定
12/10/04 18:23:08.17 zfsSycyS0
>>119
結論としてはy-1とy+1が正解ってこと?

121:名称未設定
12/10/04 20:08:16.86 wJPMV6KN0
おしえてください。
UIDatepickerのフォーマット@"YYYY-MM-DD HH:mm:ss zz"で、
時刻取得してそれをアラーム時刻と格納して、
改めてアラーム時刻設定画面のviewDidLoadで取得した時刻を表示させようとすると、
9時間9分?進んで表示されます。GMT+9時間が悪さをしていそうな事はわかるんですが、
アラーム時刻設定画面を開いて閉じてしているだけで、どんどん進んじゃいます。
どうすればいいでしょうか。

122:名称未設定
12/10/04 20:17:59.90 4NIidfok0
いちいちインスタンスを作り直してて
その度に時差を補正してないんじゃないの

123:名称未設定
12/10/04 20:40:15.35 6y+JguDA0
>>77 >>78 >>79
回答ありがとうございます。
レスが遅くなってすみません。

>>77
同じサイズのViewかLayerを作ってそれに載せる方法は良さそうですね。
これなら実装できそうな気がします。
ところで、方法1のUILabelのサブクラスを作るってのは分かるのですが、
行末処理というのはなんのことでしょうか・・・。
行末の自動改行のことですか?

>>78
背景色が透明のラベル~とありますが、
ラベルが透明だったら背景と一緒に隠したい文章自体も表示されてしまうのではないですか?

>>79
CALayerのmaskプロパティといいますと、
startpointとendpointを動的に設定したCAGradientLayerをCALayerのmaskに入れていく、
という方法で合っていますか?

124:名称未設定
12/10/04 21:37:23.38 P3x0ENmw0
>>123
そう改行処理とも言えるけど、改行しない場合もあるから
行の末尾部分をどうするかってことで行末処理。
UILabelは、clip指定にしたときも、(見えている範囲の)
行末、つまりラベルの幅で表示できる右端の位置に掛かる
文字が、少しでも欠ける様なら、その文字を表示しないか
ら、きみが書いていた1文字ずつの表示ではないという条
件に引っ掛かるので、その部分は自前で実装しないといか
んぞと。(clip以外の指定では、もっとダメ)

ちなみに>>78が言っているのは、スクロール表示だと思う。


125:名称未設定
12/10/04 22:11:35.42 9wtvG3eqP
>>123
単にlabel.frame.mask.frameを動かせばいいだ

126:名称未設定
12/10/04 22:50:26.51 P3x0ENmw0
>>125
あ、なるほど。maskレイヤーあったよね。

最初にmaskレイヤー作成しておけば、

CGRect fromFrame = _testlabel.bounds;
CALayer *tempLayer = [CALayer layer];

fromFrame.size.width = 1;
_testlabel.layer.mask = tempLayer;
tempLayer.frame = _testlabel.bounds;
[tempLayer setBackgroundColor:[UIColor whiteColor].CGColor];
tempLayer.frame = fromFrame;

あとは、

[CATransaction begin];
[CATransaction setValue:[NSNumber numberWithFloat:5]
        forKey:kCATransactionAnimationDuration];
_testlabel.layer.mask.frame = _testlabel.bounds;
[CATransaction commit];

こんなんでいけたわ。
これ楽だよ>>123

127:名称未設定
12/10/04 23:03:14.60 XuxPrznl0
縦長対応なんですが、背景画像をbackground.pngとbackground-568h.pngの2つ用意して、
background.pngをnibで背景に指定しています。
これで3.5インチのときはbackground.pngが選択され、4インチのときはbackground-568h.pngが選択
されると思ったのですが、4インチのときはただbackground.pngが縦に引きのばされた背景になっています。
正しい方法を教えてください..

128:名称未設定
12/10/04 23:17:15.22 P3x0ENmw0
>>127
-568h@2xというサフィックスは、Default.pngにしか使えない。
だから、4インチかどうかを自分で判定して、明示的に4インチ用の画像
を指定するしか無い。
あるいは、contentModeをUIViewContentModeScale~ではなく
UIViewContentModeCenter辺りにしてリサイズしないようにして、3.5
インチ画面でも4インチ用画像を使うようにする(3.5インチ画面では、
画像の端が画面からはみ出す)。
iOS 6以降対応でよいのなら、オートレイアウト機能を使うのも手かな。


129:名称未設定
12/10/04 23:33:39.73 TBvABru90
なんのためのマクロやインライン関数だよ

130:名称未設定
12/10/04 23:45:59.71 EepthdFL0
>>121

こちらも関連ありそうなんで、参考にどうぞ。
URLリンク(tech-gym.com)

131:名称未設定
12/10/05 01:26:07.42 b01+N+jh0
下記のコードを実行したところ、結果の画像(self.targetImage)がなぜか
左下に1/4のサイズに縮小されて合成されてしまいました。
縮小されずに合成するにはどのようにすればよいでしょうか?

UIImage *blueImage;
CGRect rect;
rect.origin = CGPointZero;
rect.size = self.orgImage.size;

UIGraphicsBeginImageContextWithOptions(rect.size, NO, 0.0);
[[UIColor blueColor] set];
CGContextFillRect(UIGraphicsGetCurrentContext(), rect);
blueImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

CIFilter *ciFilter = [CIFilter filterWithName:@"CIAdditionCompositing"];
[ciFilter setValue:[[CIImage alloc] initWithImage:blueImage] forKey:kCIInputImageKey];
[ciFilter setValue:[[CIImage alloc] initWithImage:self.orgImage] forKey:kCIInputBackgroundImageKey];
CIContext *ciContext = [CIContext contextWithOptions:nil];
CGImageRef cgimg = [ciContext createCGImage:[ciFilter outputImage] fromRect:[[ciFilter outputImage] extent]];
self.targetImage = [UIImage imageWithCGImage:cgimg scale:1.0f orientation:UIImageOrientationUp];
CGImageRelease(cgimg);

URLリンク(i.imgur.com)

132:名称未設定
12/10/05 01:37:48.79 LQVXub4C0
>>131
UIGraphicsBeginImageContextWithOptions()のスケールに0を渡して
いるから、実行デバイスのメインスクリーンのスケールが使われてしま
って、それがorgImageのスケールと異なるんじゃないの?

133:名称未設定
12/10/05 02:07:15.69 b01+N+jh0
>>132
1.0にしたらイケました!
ありがとうございます!

134:名称未設定
12/10/05 10:41:19.76 yCXsJeoz0
UIViewControllerのデフォルトのviewの上に,UIScrollViewをIBで貼付けていて、
(UIViewのサブビューがUIScrollViewということ)
viewそのものを使うことがないから,いっそviewのクラスをUIScrollViewにする方法もあるのだけど,
この場合,メモリの効率はどの程度違ってくる?
インスタンス化したときにUIViewの分だけ少なくなるはず。
それほど気にすることもないような気もするし,少しでもメモリの使用率を減らせるなら,
減らしてもいいような気もするし(HIGはおすすめしてるし)で。
(UIScrollViewにいちいちキャストしなければならない手間もあるが)
そのあたりどう?

135:名称未設定
12/10/05 12:58:38.59 2Xa6f2D60
それくらい自分で確かめろクソが



136:名称未設定
12/10/05 13:24:01.00 W4l08odj0
touchesEndedをオーバーライドしててタッチイベントUILabelは取得できずにUIViewは出来るんですけど仕様変わりました???


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch