UITableVIewのスワイプでのセル削除が効かない
UITableViewにて、
編集モード時には複数選択可能
通常モード時 スワイプ削除が可能
をやろうとしていたのですが、
// 編集モード時の複数選択設定 tableView.allowsMultipleSelectionDuringEditing = YES;
これを設定していると、通常モードでのスワイプ削除が効かなくなるみたいでした。
なので、編集モードに入る前に複数選択に設定して、戻るときにもとに戻してやれば
解決しました
- (void)setEditing:(BOOL)editing animated:(BOOL)animated { // 編集モード時のみ複数選択可能とする self.tableView.allowsMultipleSelectionDuringEditing = editing; ... }
Kitchen Sink ようやく!
【環境】
・xcode4.3.2
・iOS5.1
・titanium sdk2.1.0
ずっとこのエラーがでて困っていたけど、ようやく解消したのでまとめ。
dyld: Library not loaded: @rpath/DevToolsFoundation.framework/Versions/A/DevToolsFoundation Referenced from: /Developer/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/PrivateFrameworks/iPhoneSimulatorRemoteClient.framework/Versions/A/iPhoneSimulatorRemoteClient Reason: image not found
結局Xcode.appを
/Developer/Applications
から
/Applications
に置き変えたらすんなり解決した。
やったことは、
①最新ビルドを取得
http://builds.appcelerator.com.s3.amazonaws.com/index.html
②取得したファイルを
~/Library/Application Support/Titanium
配下に上書き
③Xcode>Preferences>Downloads>Command Line Toolsをインストール
④ターミナルから
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
※ここでもともとインストールしてたパス
/Developer/Applications/Xcode.app/Contents/Deceloper
を指定していたけどエラーが出ていた。
パス指定を間違えていました。/Developerにインストールしている場合
/Developer を指定することで正常に動作しました
⑤あとはTitanium studioでクリーンしてビルドでOKだった
このあたりいろいろ参考にさせてもらいました
https://jira.appcelerator.org/browse/TISTUD-1196
http://www.iphonedevsdk.com/forum/off-topic/35948-xcode-crash.html
http://developer.appcelerator.com/blog/2012/03/titanium-and-xcode-4-3-revisited.html
phonegapでカメラを使ってみた。
APIドキュメント(日本語)
http://phonegap-fan.com/docs/phonegap_camera_camera.md.html#camera.getPicture
撮影したimageは以下の形式で取得できるみたい。
・Base64形式でエンコードされたフォトイメージを表す文字列
・ローカルストレージ内に記録されたファイルの場所を表す文字列
onSuccess内で、console.log(imageData)してみたら、
file://localhost/var/mobile/Applications/25B24835-7A9C-4E32-A946-8B02ED5FB57F/tmp/photo_001.jpg
って。
デフォルトBase64形式のはずが、ファイル形式になってるみたい。
Camera.DestinationTypeを設定したら問題なく取得できた。
navigator.camera.getPicture(onSuccess, onFail, {quality: 50, destinationType: Camera.DestinationType.DATA_URL }); function onSuccess(imageData) { console.log(imageData); var image = document.getElementById('myImage'); image.style.display = 'block'; image.src = "data:image/jpeg;base64," + imageData; } function onFail(message) { alert('エラーが発生しました: ' + message); }
【phonegap(iOS)使ってみた】
githubからphonegapを取得する。
https://github.com/phonegap/phonegap
今回はiOSで試すので、
ダウンロードフォルダ/phonegap-phonegap-de1960d/lib/ios/Cordova-1.5.0.dmg
を展開してCordova-1.5.0.pkgインストールする。
プロジェクト作成で、
iOS>Application>Cordova-basedApplication
を選択する。
※phonegapのバージョンで違うのか、Phonegap-basedApplecationと説明されている
サイトが多かったので、一瞬迷った。
そのままコンパイル。
ARCをONにしているといくつかエラーがでたので解消する。
・NSAutoreleasePoolとautoreleaseとdeallocの箇所だった。
そしてもう一度コンパイル。
今度はシミュレータにwww/index.htmlが見つからないとでた。
このとき、プロジェクトフォルダにwwwフォルダが作成されているので、
そのままXcodeのプロジェクトへドラッグ&ドロップ。
Create folder references for any added folders
にチェックを入れてFinish。
wwwフォルダが青色になっていればOK。
チェックを変えていないと黄色のグループになっている。
もう一度実行するとindex.htmlが表示される。
【文字列でマスク〜拡大】
やりたいこと
・文字(画像)で背景をマスクする。
・その文字を拡大⇒最終的に背景がすべて見える
画像(png)ファイルを読み込んでマスクに設定は、
DisplayObject.cacheAsBitmap = true;
DisplayObject.mask = 読み込んだDisplayObject;
でいけるけど、これだと拡大に耐えられない。
当たり前か。bitmapだしなー。
いくらBitmap.smoothingを設定してもさすがに荒い。
ということで、元の画像ファイルをSVGにして
SVG形式で読み込むことで解決した。
他にもやり方あれば教えて欲しいです。
読み込みかたはこちらを参考にしました。
独学ActionScript
というか、これを使えば変換できるのかな。
こんど試してみよう。
ラスタ→ベクタ変換する AS ライブラリ "PotrAs" - てっく煮ブログ 跡地
【CFUUIDRef Objective-C UUIDの作成】メモ
NSString * の一意な識別子を作成する。
// 識別子を作成する
CFUUIDRef uuid;
uuid = CFUUIDCreate(NULL);
NSString *s = (NSString*)CFUUIDCreateString(NULL, uuid);
CFRelease(uuid);
NSLog(s);
これでこのような感じで出力される
2011-07-31 02:58:28.862 ATPatterns[3180:207] A45D5CBB-214C-46B2-B39D-2F8CD1954E18
こちらを参考にさせていただきました。
(旧) Cocoaの日々
http://xcatsan.blogspot.com/2009/11/uuid-cfuuidcreate-globallyuniquestring.html