• 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

subviewはsuperviewのalphaを引き継いでしまう。たぶん。親のalphaが0.7で子が0.5の場合は0.7*0.5で子は0.35のalphaになる?
背景スケスケでコンテンツはクッキリ表示したい場合はどうすればいいか?と言うと、もう一つalpha 1.0のUIViewを用意し、そのviewをsuperviewにして子にaplha 0.7のbackground viewとalpha 1.0のcontens viewを加えればいい。

つまり最初のviewの構成が

ruby>>
UIView alpha 0.7
 UIView alpha 1.0 contens view
<<--
となっているところを
ruby>>
UIView alpha 1.0
 UIView alpha 0.7 background view
 UIView alpha 1.0 contents view
<<--
とする。

解決法がタイトルは嘘にしてしまったが、やりたい事はコレで実現できる。もちろんbackgournd viewを本来のあるべきサイズにしなきゃいけないけどね。

posted by bopper bopper on Sat 6 Feb 2010 at 20:20 with 0 comments

at iPhoneOS 3.1.2

shouldAutorotateToInterfaceOrientationじゃなくて任意のタイミングで
roateする方法を探していたんだけど、見かけるのはUIViewのtransformでrotateすることばかり。確かめてないけど。この方法だとUIViewControllerのinterfaceOrientationと齟齬も発生するじゃないかと思う。

それで無理くり何とかする方法を考案した。けど、この方法では(もう少し改善すればできるかもしれないが)重力方向への回転しかできない。
shouldAutorotateToInterfaceOrientation:を使ってrotateすのはいつもとどおり。だけど先に方向を決めておいてNSNotificationを投げて強制的にshouldAutorotateToInterfaceOrientation:を発生させることによって
任意のタイミングでviewを回転させる事ができる。

objective-c>>

  • (void)rotateNow{
    UIDevice *device = [UIDevice currentDevice];
    self.toRotate = device.orientation;
    NSNotification *notification = [NSNotification notificationWithName:@"UIDeviceOrientationDidChangeNotification" object:device];
    [[NSNotificationCenter defaultCenter] postNotification:notification];
    }

  • (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    if(self.toRotate){
    return interfaceOrient == self.toRotate;
    }else{
    return NO;
    }
    }
    <<--

こんな感じ。何をしたかったかと言うと向きが変わったときにいきなり回転させるんじゃなくて、ちょっとボタンをだして確認を取りたかった。だからタイミングだけずらして回転方向は重力方向だけでいいやって話しなんだけど。

もしかすると、このNSNotificationを作ってる部分でobject:deviceってUIDeviceを渡してる部分。このオブジェクトのプロパティorientationを任意の方向を返す様なオブジェクトを作ってViewControllerを更に騙すことができるならば、タイミングだけじゃなくて方向も変えれるんじゃないかな?そこまでは確認を取ってません。

まぁ何にせよ。かなりhackな方法だからOSのバージョン上がったら使えなくなるかもしれない。

posted by bopper bopper on Sun 31 Jan 2010 at 14:04 with 0 comments

ちょっと調べたところMacにはミドルクリックと言う概念がないらしい。標準で Doshboardが開きだす。うーさすがちょっと前までマウスが1ボタンだった文化だ。もとWindows害的に面倒なんでなんとかしてみた。

基本は、middleclickをcmdキー+rightクリックに変換すればいいらしい。Logicoolのマウスとかは独自のユーティリテーで変更できるみたい。が、残念ながらー今無名1000円マウスしかないので、多分これは使えない。

そこでSynergy。基本的に2代以上のPCのキーボードとマウスを共有するためのソフトなんだけど。キーストロークの変更機能とかついてるんで、それを利用する。(この時点で大半の人には無用のポストだなw)

キーボードとマウスはWindowsについでサーバーにする。
コンフィグのGUIのHot Keysをクリック。
左側の+をクリックして出てきたダイアログでミドルクリックを押す。
右側のアクションの+を押して、同様のダイアログでMac側でcmdに当たるキーを押しながらright click。
OK.終了。

Hot keys: mousebutton(2)
Action: A mousebutton(Super+2)

とかなってると思う(Superの部分は違うかも)。
まぁこれで、FirefoxだろうがSafariだろうがリンクを新規タブで開ける。
はぁ、ここにたどり着くまで、かなり苦労したんだけど。純正マカーの人とかはどうしているんだろう?

posted by bopper bopper on Tue 27 Oct 2009 at 22:11 with 0 comments

英語がちと不確実な僕はSkype Axes Developer Program Extrasを見て、SkypeAPI終了!?とか一瞬早とちりしてしまった。ここにも書いてあるけどThe future of Skype Extras - Skype Developer Zone Blog。SkypeAPIは続行。認証制度がとりあえずなくなるよと言うのが正しい。

これは不確実な英語ではなくSkypeの岩田さんに日本語で確かめたから確かだ(速攻チャット送るところ相当慌ててた自分が見て取れる orz)
岩田さん曰く「僕にとっては無償で API が使えるようになる、ってことだと思っているんですけどね。」との事。もともと無償ではあるけどより広く野に降り立つ?って事かなぁ。そして、いずれはより良いプログラムだすよーっとのことでした。

あぁ今SkypeAPI使った仕事をしようかと言うところだったのでちょっと安心した。さて安心したところでRuby4SkypeのLinux対応にもどるかな。これThread使った所で難航しているけど。これができればTwitter4Skypeも元に戻せるかもしれない。

今日も野良デベロッパーは行くぜー

posted by bopper bopper on Mon 14 Sep 2009 at 03:46 with 0 comments

LogicoolのMX-Rを使っていたんだけど左クリックが押すと一発でダブルクリックが発生するようになってしまった。これは機械的な接点(スイッチ)が振動して酷いチャタリングを起こし始めたんだと思う。要するに壊れたんだ。

で、まぁ貧乏NEETとしては何とか安く問題を解決したいわけで(高いマウスだったしね)新しいマウスを買う前に何かと調べるわけです。分解してどうにかならないかーとかさ。

そしたらこんなものを見つけた
マウスチャタリングキャンセラ。マウスの入力をいったん奪って、ダブルクリックが人間が押すよりも速い速度で入力されてる場合はシングルクリックとしてOSへ渡すソフトだと思う。

ダメもとで試したけど、これかなりイイ。壊れたハードだなんて微塵も感じられない。まったく正常な状態に戻ってしまった。もちろん遅延だって感じられない(ゲームとか厳しいかもしれないけど)

ソフトウェアでハードの故障を直してしまった!これはソフト屋の端くれとしてはちょっとした感動なんだな。

#下位の問題を上位層で無理やり修正するプログラムは組みたくないんだけどねw

posted by bopper bopper on Thu 10 Sep 2009 at 06:01 with 0 comments
Skype API関係で仕事したり逃げたりしてる某社社長から、、、
朗報というか私にとっては不幸なお知らせが。私のMacBookが雨の直撃でやられてしまいました。それでしばらく乾かしてダメだったら新しいのを買おうと思ってるんですが,そうなったら壊れたヤツいりますか?
そ、それはラッ、、、いや、御悔みを申し上げます。
つーかください。早くください。壊れててもください
それでやってきた来た訳なんですけど

電源入れたら普通に動いたw
っくぅ。あの社長、オレを嵌めたな!
動かないなんて口実でNEETに慈悲を与えたつもりか!!カッコつけやがってー
そんな事ないですよ、動いて私もビックリです。むしろ何も努力しないで手に入れた事が悔しいくらいです。
、、、
数時間後
TextMate入れれて、gemアップデートして、トラックパッドでジェスチャースゲー。
ん?なんかバッテリー認識してないな。バッテリ側のインジケーターは生きてるし まぁちょっと外してみっか
あ、あれ?電源押しても、、、動かないぞ
え?えぇっ!?マジ!?
、、、
あんなにセットアップしたのに、、、
もういいや、ゲームでもしよー
ホロホロホロホー・・
更に数時間後、、、
じゃ~ん♪
勝手に電源が!
Macは滅びぬ、何度でも蘇るさ!
なーんか振り回されっぱなしw。今は怖くて火入れっぱなしです。まぁともかく、ようやくRuby4SkypeのMac対応が書ける。めでたしめでたしっと。
posted by bopper bopper on Thu 10 Sep 2009 at 05:23 with 0 comments

Rubyのwin32/processの話。ちょっとWindowsでデーモン的に動いてもらいたいスクリプトをProcess#Createとかで作って親が勝手に子を殺そうと思ったんだけど。子供が断末魔を上げてくれない。SIGINTでも同様。

さいわいdrubyで通信してので、子プロセスで Thread.main.kill して事を無きを得る。

posted by bopper bopper on Sun 6 Sep 2009 at 08:13 with 0 comments

前からソースコードとかキレイに表示されてるようで気になってたs21gのblogを使わせてもらう。
どんなもんかなー

ruby>>
File.unlink FILE
<<--

インデントしないと面白くないか

ruby>>
def kill_me
undef kill_me
end
kill_me
<<--

こりゃ、便利だー

posted by bopper bopper on Sun 6 Sep 2009 at 08:00 with 0 comments

Jukebox4Skype。一年ほど前につくったSkypeの通話会議にBGMを流すためのソフト。当時はWindowsのWaveOut系関数をRubyで扱う辺りで挫折して、再生する側でプチプチ音が途切れていたのを修正した。過去のソースをテキトウにいじったので、ちょっと不安な部分があるが、まぁおおむね動きはする。

J4S_0.0.3.zip

解凍後、jukebox4skype.exeを起動してSkypeにattach.exeが~を許可すると起動する。リストに追加はmp3とかをd&d。多少遅延が生じたり(特に曲が変わる瞬間)。ソフトを終了時にマイクが機能しなくなるかもしれない(もし発生した場合通話いったん切れば直ります)。あとWindowsOnly。それでもよかったら遊んでみてー

posted by bopper bopper on Sun 6 Sep 2009 at 08:00 with 0 comments