• 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
  • 29
  • 30
  • 31

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
Contents rssrss
親のUIViewのalphaを無視して表示する方法。
UIViewControllerだけで強制的にrotateする方法。
Macでmiddle clickを無理矢理使う方法。
Skype Extrasの終了について
チャタリングを起こしてたMX-Revolutionが直った。
ZombieMacBook
Process.kill('SIGKILL', pid)したらat_exitが呼ばれない。
initialize s21g blog
Jukebox4Skype
Tags
developmentiphonerubyskypealphaJukebox4Skypemacobjective-cUIView
Services from s21g
YOMU Web小説リーダー
小説投稿サイトの公式ページを開き、WebView表示と読み上げ向け表示を切り替えて、移動中や作業中にもWeb小説の続きを聴きやすくするiPhoneアプリです。
補助探
公開されている補助金・助成金情報を集約し、条件に合う制度を探しやすくするサービスです。
jotter.me
個人開発者のためのホスティング一体型ノートサービス
ハンドミラー
iPhone向けの手鏡アプリ
ツイプロ(twpro)
Twitterプロフィールの高速検索エンジン