2011-06-01から1ヶ月間の記事一覧

UIPopoverControllerでタイトルを追加する

UIPopoverControllerでタイトルを追加にはUIPopoverControllerの元になるUIViewControllerに対してTitleとNavigationItemにボタンを追加する。 しかし直接UINavigationControllerを作ってTitle等を変えてもなにも起きなかった。 この場合、UIViewController…

UIPopoverControllerで矢印を表示しないようにする

UIPopoverControllerで矢印を表示しないようにするにはpresentPopoverFromRectのpermittedArrowDirectionsに0を渡せば良い。 しかしMonoTouchのPresentFromRectメソッドはUIPopoverArrowDirection列挙値しか受け付けてくれない。というわけで0を渡せるように…

実機上でデバッグするときのIPアドレス

実機上でデバッグするときはネットワーク経由で行う。このときのIPアドレスは基本的に無線LAN(Airmac)のIPアドレスがデフォルト。しかし有線LANや仮想LANが有効になっているとMonoDevelopが使用するIPアドレスを間違うことがある。 この問題はMonoDevelopの…

UITabBarのボタンのハイライト状態を解除する

UITabBarのボタンを押すとハイライトされる。これを解除するにはUITabBarのSelectedItemにnilを代入する必要がある。MonoTouchだとnull代入だと思い、 tabBar.SelectedItem = null; としたらnullチェックの例外が発生した。どうも引数nullには対応していない…

VGAへの出力

VGAケーブルやAVデジタルケーブルで追加されたスクリーンにUIViewを表示する為に以下の様なコードを書いた。 if (UIScreen.Screens.GetLength(0) > 1) { UIScreen screen = UIScreen.Screens[1]; UIWindow awin = new UIWindow(); awin.Screen = screen; UIB…

CGContextで日本語を描画する

DrawメソッドでCGContextを使って日本語を描画しようとしたらどうにも文字化けしてしまう。調べると本家SDKでも同じで、これはNSStringのdrawStringを使うことで回避できるとのこと。これをMonoTouchでやってみた。 public override void Draw (System.Drawi…

特殊フォルダ

Environmentクラスの特殊フォルダ Environment.SpecialFolder を実機で取得した。 特殊フォルダ 戻り値 ApplicationData /private/var/mobile/Applications/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/Documents/.config CommonApplicationData /usr/share Commo…

MonoDevelopをproxyに対応させる

MonoDevelop v2.6 Beta 2がなかなか終了しなくて困っていた。 調べるとどうも終了時にインターネットアクセスを行っている。 しかし環境的にプロキシ経由でなければ通信できない。 結局ソケットがタイムアウトするまで延々と待ち続けているのが原因だった。…

通貨の書式でフォーマットした文字列の円記号がバックスラッシュになる

string v = string.Format("C", 1900); とした文字列をUILabelなんかで表示すると円記号がバックスラッシュとして表示される。 これはCultureInfoのNumberFormat.CurrencySymbolが文字コードの0x5c*1になっているから。 かっこ悪いので NumberFormat.Currenc…