LoginSignup
17
17

More than 5 years have passed since last update.

iOSっぽいUIに使うコンポーネント

Last updated at Posted at 2013-08-31
  • UINavigationController
    基本的にはstartActivity
    場合によってはViewFlipperやViewPagerで実装も可能
    戻るボタンはsetDisplayHomeAsUpEnabled

  • UINavigationBar
    4.0以降はActionBar
    それ以前はActionBarSherlock

  • presentViewController:animated / dismissViewController:animated
    アニメーションを定義してViewFlipperと共に使う。具体的にはタイマーでアニメーション終了後に
    ビューを切り替える。
     アニメーションの参考: android-3d-flip-view-transition
    Fragmentと一緒に使うと、Fragmentが非同期でViewを初期化するために(viewController.viewでviewDidLoadが同期で呼び出される)iOSと同じフローだと上手くいかない。

  • UIDatePicker
    Fusion-Dateslider

  • UIPickerView
    android.widget.NumberPickerを使い、formatterForTagでラベルを返す。

  • UITableViewのsectionHeader/Footer
    android-pull-to-refreshとAmazingListViewを相当カスタマイズして使ったが、(スクロール時テーブル上部に残る、内部にコンポーネントを持つ)sectionHeaderは一つが限界だった。気が向いたら複数セクション実装試みる。

  • pullToRefresh
    android-pull-to-refreshを使うが、(恐らくAndroid自体の)バグが多いので火だるまになる。
    と思ったらhttps://github.com/chrisbanes/ActionBar-PullToRefresh
    というのがある。使ってみる。

  • UITableView全体
    上の2つなどを色々修正して使うが、機種によっては意味不明なタイミングで沢山タッチイベントを出したりするので、リストビューの状態を正常にたもつのが大変。

  • animateWithDuration
    描画にはアニメーションを用いて、アニメーション終了時にセットしたタイマーで実際のプロパティを調節したりする。(確か所々必要だったはず)

  • その他
    端末依存でわけの分からないところでNPEが出たりするので、むしろUIの外見よりプログラム自体が複雑化しないように気を配るほうが大切な気がして、無理にiOSに合わせようと頑張るのは余りお奨めできない。

17
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
17