Archive

Archive for 4月, 2009

PixelContactリリース

4月 28th, 2009

ドット絵をアドレス帳に登録して、
電話の発着信時に表示するように出来るアプリ、
PixelContactがリリースされました。



購入はこちらから(115円です。)

kuni ソフトウェア

NSXMLParserで文字が切れてしまう

4月 8th, 2009

kuniです。

「http://~~/128459253/roロゴ_normal.png」
と言うようなxmlに書かれたアドレスをNXXMLパーサーで取得しようと思い、
URLエンコードは、
http://akisute.com/2008/12/cocoaiphoneurl.html
に書いていただいている物などを使えばいいのかと思いきや、

そもそも、
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
のStringに入ってくる時点で、なぜか
「http://~~/128459253/ro」
という文字列になってしまっていました。

http://journal.mycom.co.jp/column/iphone/007/index.html
を見ると、NSXMLParserの方が高速みたいですし、
こちらを使ってみようかと思います。


※追記
切れてしまう問題かと思いきや、
NSXMLParserの使い方が間違っていました。
ファイルをダウンロードする時などと同様に、

- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
に来たstringは全部ではないので
(長さにもよるとは思いますが、
英語では一回で全文字来るようなのですが、
日本語では1文字1文字でしかここには来ないようです)、
一旦、NSMutableStringなどに入れ、

-(void)parser:(NSXMLParser *)parser
didEndElement:(NSString *)elementName
namespaceURI:(NSString *)namespaceURI
qualifiedName:(NSString *)qName
の部分で完了が解るので、そこで初めて、貯めておいた文字列を使う、
という流れにしないとだめでした。

読んだ文字列をまとめた物を
送ってくれるメソッドが欲しいなあとも思いますが・・
これで取りあえず解決できました。

kuni プログラム

<Error>: CGAffineTransformInvert: singular matrix.

4月 6th, 2009

imagePickerControllerのdidFinishPickingImageが実行された後、
イメージをそのまま使うと、動作には問題ないようなのですが、なぜか
「<Error>: CGAffineTransformInvert: singular matrix.」
というエラーが出てしまっていたので、
一度、

UIGraphicsBeginImageContext(image.size);//イメージをそのまま使うとエラーが出るようなので一旦置き換える//

CGRect rect = CGRectMake(0, 0, image.size.width, image.size.height);
[image drawInRect:rect];

// 描画した画像を取得する
UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

と言ったような形で、置き換えた物を使用しました。
これだと、出ないようです・・。


※imagePickerControllerのプロパティ、
allowsImageEditingがYESだと、
この問題は起こらないようです。

kuni プログラム

iPhoneOS2.2とそれ以前のバージョンの違い3

4月 3rd, 2009

kuniです。

UIBarItemのプロパティ「enable」がありますが、
これをinterface builderからNOにしておくと、
OS2.1以降では勝手に半透明になってくれますが、
OS2.0では半透明になりません。(意外にもOS2.1でも半透明になりました。)

なのであらかじめ透明度を設定したpngを用意しておき、
UIBarItemのimageを入れ替える方法で回避しようかと思いきや、

なぜか下記のように、もう一度同じイメージをスクリプトで設定し直すと、
効くようになりました。

NSString* model = [[UIDevice currentDevice]systemVersion];
NSComparisonResult result_os = [model compare:@"2.0"];

if(result_os == NSOrderedSame){
//このバージョンの場合、ボタンが透明にならない。だが一度置き換えるとなぜか効くようになる。//
NSString *imgPath = [NSString stringWithFormat:@"%@/%@", [[NSBundle mainBundle] resourcePath] , @”btn_setting.png”];
UIImage *settingBtnImage = [UIImage imageWithContentsOfFile: imgPath];
settingBtn.image = settingBtnImage;
}

interface builderのバグか・・

kuni プログラム

UIScrollViewの中身をズームアウトした際、左上(0,0)に自動的に戻ってしまう点を修正

4月 3rd, 2009

kuniです。

UIScrollViewにaddSubViewした時、
ズームインした時は問題ないのですが、
ズームアウトした時、中のViewが自動的に左上に戻ってしまいますよね。
プロパティで簡単に切れない物か・・と思ったのですが、
特に無いようなので、delegateメソッド「scrollViewDidScroll」に
位置調整を入れ、回避しました。

———-
- (void)scrollViewDidScroll:(UIScrollView *)_scrollView{
//ここでズームの変更も拾えるので、サイズを設定する//
CGRect newRect = scrollView.frame;


//firstWidthにはScrollViewの最初の幅が入っている
if(firstWidth < imgView.frame.size.width){//超えた場合は0に//
newRect.origin.x = 0;
}else{
CGFloat fTemp = (firstWidth – imgView.frame.size.width) / 2;
newRect.origin.x = fTemp;
}

//firstHeightにはScrollViewの最初の高さが入っている
if(firstHeight < imgView.frame.size.height){
newRect.origin.y = 0;
}else{
CGFloat fTemp = (firstHeight – imgView.frame.size.height) / 2;
newRect.origin.y = fTemp;
}
scrollView.frame = newRect;
}
———-

ただ、ご察しの通り、少し問題もあって、
UIScrollViewの位置自体を変更しているので、
例えばズームアウトして縮小した場合、
UIScrollViewは画面真ん中の方に来ることになるので、
左上の方をつまんでも、反応しなくなります。


それでも、左上に行ってしまうよりはいいと思うので、
このまま使おうと思います。


※他の方法としては、scrollViewに一定の大きさの透明のViewを
もう一つ敷いておく、とかでしょうか。

kuni プログラム

Skypeはやはり世界的に期待度高いんですね

4月 2nd, 2009

各国の販売チャートが一色になりました。
(唯一カナダは販売していないそうです)

apple-itunes-itunes-store-charts-top-10-apps-free

Apple – iTunes – iTunes Store – Charts – Top 10 Apps – Free

やはり期待度高いんですね。
すごいです。

wakasa 未分類