iOS SDKの各クラスの完成度について雑感
@fladdict @k_katsumi ギリギリで使わないで広くとってスクロール開始前に制限かけるとかできないかな?
2011-08-09 00:19:50というか、UIKitでいうと2.0のころから存在するクラスはどれも完成度高いです。それらは3.0になって芸術の域に達した、みたいな。最初にAPIをデザインした人たちはそうとうレベル高かったんでしょうね。
2011-08-09 00:24:32@k_katsumi UIKitってちゃんと設計されているクラスは自分が受け身になるような実装をすれば良い訳なんですけど、Popoverは色々教えてあげなきゃいけなかったり。受け身な実装にしてくれればなあと思います。
2011-08-09 00:26:54@novi_ ああ、そうですね。この挙動はここでコントロールするっていう主体がものによって変わるところはイケてない点ですよね。
2011-08-09 00:30:17@k_katsumi ええ。なので自分でラッパークラスを書くのが良さそうですね。今iPadアプリを書いているので考えてみようかなあ。
2011-08-09 00:32:04@novi_ あ〜、そですね。みんなそういうの書いてますよね。そのへんがバッドノウハウのかたまりってことなんですよねえ。
2011-08-09 00:33:09そういう意味でいうと、networkActivityIndicatorVisibleなんかはみんなラッパー書いてるだろうから結果論だけどあまりよくない。まあしょうがないんだけど。 http://bit.ly/rjASTj
2011-08-09 00:36:283.0からのクラスでいうとMapKitは良くできてる。4.0以降で機能追加されたけど、それを使わなくてもプロパティとデリゲートをきちんと使えばかなりなんでもできる。ピンのドラッグだけは面倒だけどネ。
2011-08-09 00:39:254.0以降で追加されたフレームワークやらクラスはだいたいお任せでただ使うだけみたいのが多くなってまあどれも普通って感じのが多いですね。カスタマイズする余地もないけどまあお任せで凝ったことをしなかったら普通に使える、みたいな。
2011-08-09 00:43:05たとえばナビゲーションバーのボタンにツールバーを突っ込むなんてのが普通に動いて、かつツールバーに設定したスペースや自動リサイズもきっちり正しい挙動を示すってのは素晴らしいなあと思うのです。 http://bit.ly/oHpHzP
2011-08-09 00:47:31素晴らしい! RT @k_katsumi: たとえばナビゲーションバーのボタンにツールバーを突っ込むなんてのが普通に動いて、かつツールバーに設定したスペースや自動リサイズもきっちり正しい挙動を示すってのは素晴らしいなあと思うのです。 http://bit.ly/oHpHzP
2011-08-09 00:55:06@k_katsumi うーん、説明しずらい・・・ 320x480のScrollViewに、320x320の画像をセンター中心で自然に拡大縮小するのが如何に大変か・・・みたいな感じのイメージなのです。結局あきらめて自分で独自拡張したので近況がよくわからないですが
2011-08-09 00:58:14@fladdict はい、なんとなく何か違うんだろうなあとは思ってました。たしか結構まえに見せてもらったはず、、、Posemaniacsのアプリで使ってるんでしたっけ。
2011-08-09 01:01:56@k_katsumi ポーマニのは、UIScrollViewを2重にネストして、内側のビューの座標をリアルタイムに書き換えていたような気がします。うろ覚えですが。
2011-08-09 01:04:05@fladdict UIScrollView on UIScrollViewは2.xのころはうまく動かなかったとかは、、、たぶん関係ないですねえ。ふかつさんのアプリを研究してみますわ。見たらわかるかも。まあでもズームの挙動はお任せなんで合わない場合は作るで正解ですねえ。
2011-08-09 01:06:47UIScrollViewはズームアウトしてコンテンツがScrollViewよりも小さくなると左上に行っちゃう。 http://t.co/CneCPQj
2011-08-09 01:12:16@sawat1203 それはたとえばlayoutSubviewsで常にコンテンツのビューのセンターが真ん中に来るように調整するとかで解決できます。スクロールビューの挙動はPhotoScrollerってサンプルコード読んだらかなりマスターできますよ。
2011-08-09 01:19:48@fladdict あー、UIScrollViewのlayoutSubviewsなんかで乗ってるビューの座標を一定に保つなんてのは普通の使い方の範疇なので、そういう話であれば、それが正しい方法ってことになりますねえ。
2011-08-09 01:22:41勉強会行った気分。ためになる。多謝!“@k_katsumi: 「iOS SDKの各クラスの完成度について雑感」をトゥギャりました。 http://t.co/Ogb7JPY”
2011-08-09 04:16:39ああ、あとUIScrollViewはその上にボタンやらピッカーみたいな、タッチとかスクロールが競合するものを置く場合なんかも考慮されててdelaysContentTouchesとcanCancelContentTouchesでほぼ制御できる。
2011-08-09 04:24:14ただその逆はたぶん推奨されてなくて、たとえばテーブルビューセルにスクロールビューを置いてスクロールとセルの選択が両方きちんと動くようにするってのは結構めんどう。
2011-08-09 04:26:17StoreKitはお任せクラスでカスタマイズする余地なんかは全然ないけど、担当範囲(自分で描かなければいけない部分とフレームワークに任せられる部分)がはっきりしててドキュメントも分かりやすくはないけれど、必要なことはちゃんとかいてあるし、良いものだと思う。
2011-08-09 04:43:12