UITableViewを使って途中でセルをぬめっと追加したくて、
insertRowsAtIndexPaths:withRowAnimation:
を実行してみたのですが、

NSArray* paths = [NSArray arrayWithObject:[NSIndexPath indexPathForRow:1 inSection:0]];
[self.tableView insertRowsAtIndexPaths:paths withRowAnimation:UITableViewRowAnimationTop];

何故かセパレータが消えちゃいましたorz

いろいろいじっているうちに回避方法を発見。
挿入後に上のセルに対してsetNeedsLayoutを呼んでやればセパレータがうまく描画されるみたいです。

UITableViewCell* cell = [self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
[cell setNeedsLayout];

うーん、セルの挿入方法とか間違ってるのかなぁ。

テーブルのセルの中央に来るように計算でUISwitchを配置したところ実機で下側が欠けちゃいました。
e38394e382afe38381e383a3-21

どうやら、frame.origin.y が半端な数値(少数)だと起こるもよう。
欠けちゃった場合はその辺りを確認してみてください。

パレットの編集(にょきにょき部分)が多少動くようになりました。
e38394e382afe38381e383a3-1

色って他の色と見比べながら調節したり、既存の色から別の色を作ったりする事が多いと思いますので、そうした操作ができるようにしてみました。

しばらく他の用事で忙しくなりそうなので、またペースダウンするかもしれませんが、地道に実装を進めていきたいと思います。
(というか、iPhoneネタは4個ぐらいあるので、どんどん作っていかないと)

すでに妄想じゃなくなっていますが、気にせずこのままのタイトルで行きます。

サイトリニューアルの作業ばかりでEDGE touchの方あんまり進んでいないのですが、多少メニューとか動くようになりました。

アイコンボタンもちょこっと小さくしました。
e38394e382afe38381e383a3-2

左下のペンアイコンをタッチすると、ペン一覧が、下からぬめっと出てきます。
e38394e382afe38381e383a3-3

んで、問題なのはカラーパレット。
最初は16×16の表形式でやろうかとも思いましたが、まぁこうしたデバイスでそんなに色は使わないだろう(基本8色とか16色とかだろう)と思いまして、いつものテーブルビューで表示させてみました。
e38394e382afe38381e383a3-4
なので、デフォルトパレットとしては0〜7番は基本色かな。

ここで下のツールバーの編集ボタンを押したら、RGBバーのようなものが、画面下ににょきっと出てくるようにしようかと思っています。

iPhoneの開発言語であるObjective-CはCの上位互換言語なのでC言語で出来ることは一通り出来ます。クラス(NSObjectの派生クラス)にするとメモリ周りのオーバーヘッドが気になる!もしくはクラスを使うまでも無い!という場合は構造体を使うと良いかと思います。

struct Hogehoge {
	int aaaa;
	int bbbb;
};

ただ、C++と違ってCなので構造体を使うときにもいちいち型を「struct Hogehoge」と指定してやらなきゃいけません。

そんなときにはtypedefを使うと楽になります。

typedef struct {
	int aaaa;
	int bbbb;
} Hogehoge;

これで「Hogehoge」だけで構造体の型を利用できるようになります。

この方法はCの頃は結構当たり前のように使っていたのですが、C++にしばらく入り浸っているうちに忘れてしまっていました。
(というか、structつけずに型を使おうとしてコンパイルエラーが出たときは、なんだか懐かしく感じました(^^;;)
またObjective-Cで思い出したので情報として残しておきます。

記事検索

アーカイブ