Hatena::Groupiphone-dev

淡々とめもりんぐ

2010-09-28

[]"An internal error occurred when handling command output:" 15:09

http://stackoverflow.com/questions/3516745/sentestcase-in-xcode-3-2-and-xcbuildlogcommandinvocationsection-errors

これが解決法なんだけどどこをかきかえりゃいいんだ!



rabbit2goさんありがとうございました。無事解決しました。

http://gist.github.com/586296

あーでもやっぱOCMock使おうとすると同じの出るなぁ。どこの設定をいじくればよいのかいまいちわからんな。。。うーむ。


[] 17:51

http://d.hatena.ne.jp/glass-_-onion/20100802/1280758789

http://d.hatena.ne.jp/coizne/20100909/1283988193

後デザイン関係

http://kachibito.net/marketing/40-minimal-business-card-dessign.html

ここら辺みてかっちょいいかんじのつくれないかなー。昔はてなのテーマ作ってたときもこんな感じのに(色は)最終的に収まって行った気はするけどどうも二次元配置能力が低いようだ...

rabbit2gorabbit2go2010/09/28 17:08同じ問題が発生しましたが、こちらのパッチで対処できました。ご参考までに。
http://gist.github.com/586296

still_nonamestill_noname2010/09/28 17:40ありがとうございます!さっそくためしてみます!!

2010-09-16

[][] 17:18

オブジェクトを列挙してNSArrayを作りたい -  initWithObjects:

- (id)initWithObjects:(id)firstObj, ...

オブジェクトを順番に列挙してゆくことで、それらを格納したNSArrayを作ります。列挙したオブジェクトには順番に0, 1, 2,

…とインデックスが割り当てられます。一番最後にnilを指定します。このメソッドはUISegmentControlの要素を作るのによく使われます。

以下の例は3つに分かれたUISegmentControlを作る時のコードの一部です。

                    
NSArray *items = [[NSArray alloc] initWithObjects:@"少ない",@"中程度",@"多い",nil];
UISegmentControl *sControl = [[UISegmentedControl alloc]initWithItems:items];
[items release];

NSArrayについて

ピンポイントすぐる。


[]Popover出したい! 18:11

ということでいろいろ試した。

PopoverはUIPopoverControllerオブジェクトを利用する。で、このオブジェクトはIBにはないので、コードで書かなきゃいけない(ということに気づくまでかなりかかった)わけで。だがIBを使わない方法がわからない初心者にとっては(ry

UIPopoverControllerは中にたいていのViewは取り込めてしまう模様。インスタンスを作るときは

UIViewController* targetView = [[[UIViewController alloc]init] autorelease];
UIPopoverController* popover = [[UIPopoverController alloc]initWithCOntentViewController:targetView];

UIViewControllerの作り方ってこれでいいんだっけ;あとでテーブルヴューの場合で書いときます。

表示に際しては自分でデリゲートを受け取ってやる必要があるようです。たぶん。

popover.delgate = self.view;

警告が出てるのでなんかもっとやり方があるのかも。

実際に表示させるところは

if(!popover.popoverVisible){
		[popover presentPopoverFromBarButtonItem:self.navigationItem.rightBarButtonItem permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
	}

この場合はメインのナビゲーションバーの右側のアイテムをタップすると表示されるようになっています。こまけぇことはまだわかりませんorz


とりあえずよくあるようにpopoverにTableView上のメニューを表示させるやり方。表示だけでpopoverの中で何か操作ができる訳ではありません。


//TableViewを作る
UITableView* tableView = [[UITableView alloc]initWithFrame:CGRectMake(0,0,300,300) style:UITableViewStylePlain];

//TableViewControllerを作る
UITableViewController *settingVC = [[UITableViewController alloc]initWithStyle:UITableViewStylePlain];

//ControllerとViewをくっつける
[settingVC.view addSubview:tableView];

//とりあえずNavigation Barもつけておく
NSString* settings = NSLocalizedString(@"Settings", @"Settings");
UINavigationController* theNavController = [[UINavigationController alloc]initWithRootViewController:settingVC];
theNavController.navigationBar.topItem.title = settings;
[theNavController setNavigationBarHidden:NO];
[theNavController setToolbarHidden:NO];

//イベントが来たら表示する
popover = [[UIPopoverController alloc]initWithCOntentViewCOntroller:theNavController];
popover.delegate = self.view;
[settingVC release];
[theNavController release];
[tableView release];
[listOfContents release];

//popoverが表示されていなかったら表示する
if(!popover.popoverVisible){
    [popover presentPopoverFromBarButtonItem:self.navigationItem.rightBarButtonItem permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
}

[popover release];

その場でオブジェクトつくって表示させていますが、popoverとかtableViewとかその他諸々はインクルードファイルの法で作るべきかとはおもいます。

2010-09-08

[][]おおこれは便利 15:47

http://www.hirano-dept.com/blog/2010/02/iphone-uicolor.html

16進数で指定。

#define HEXCOLOR(c) [UIColor colorWithRed:((c>>16)&0xFF)/255.0 green:((c>>8&0xFF)) /255.0 blue:(c&0xFF)/255.0 alpha:1.0]

色見本

http://www.colordic.org/

個人的には一番ここが好き。

2010-09-07

[]部品のプロパティ参照したりとかってどうやってするの? 14:51

Visual StudioでいうところのコントロールにNameを指定すれば、同じクラスの中ではNameにアクセスすればプロパティ見たり操作したりできる、っていうのをどうやってすればいいんだ!!!Nameってあるけどなんかオブジェクトとして使えるわけじゃないし…とかって悩んでたんだけどやっと解決した。

//hoge.h
@interface hoge:UIViewController{
    IBOutlet UILabel *message;
    IBOutlet UIView *view1;
}

@end

//hoge.m
- (void)viewDidLoad{
    [super viewDidLoad];
//IB使う場合
    message.txt = @"MESSAGE";
    [view1.layer setCornerRadius:10.0];
    [view1.layer setBorderColor:[[UIColor grayColor]CGColor]];

//IB使わない場合(view1に貼り付けてみる)
    UILabel *message2 = [[[UILabel alloc]initWithFrame:CGRectMake(0,0,100,30)] autorelease];
    message2.text = @"MESSAGE2";
    [view1 addSubview:message2];
    [message2 release];
}

IBのほうで作った部品はFile's Ownerから部品へ対応するOutletでリンクすること。これでオブジェクトとコントロールが結びつく。

はー。すげー基本的なことだとはわかってるんだけど、こういうのがわからんのだよなあ。


[][]viewからnavigation Controllerに移動して表示ができた!!! 18:01


やっとできたー。本のとおりから少し変形したらできなくなるとか…もうね…orz

やっていること

  1. MainWindowにViewを貼り付ける。
  2. ViewにさらにNavigationControllerを貼り付けてその中にViewを表示する

問題だったところ

XxxAppDelegate.hで、

/*XxxAppDelegate.h*/
@interface XxxAppDelegate : NSObeject<UIApplicationDelegate>{
    UIWindow *window;
    UIViewController *controller;
}
/*XxxAppDelegate.h*/
@synthesize controller;
(中略)
controller = [[MainViewController alloc]initWithNibName:@"MainView" bundle:[NSBundle mainBundle]];

って宣言してたんだけどインクルードファイルが問題だった様子。貼り付けるViewのサブクラスをMainViewControllerとするとき、ここはUIViewControllerではなくMainViewControllerとすべき、らしい。

ここをUIViewControllerにしていると、"loaded the "*" nib but the view outlet was not set."とか"unrecognized selector sent to instance xxx"とかいわれるらしい。前者のほうは違う原因の気もするけれども…。

2010-09-06

[]addSubviewしてるのにビューが表示されない 12:47

navigator = [[TestViewController alloc]initWithNibName:@"Navigator" bundle:[NSBundle mainBundle]];
if(navigator != nil){
    [self.view addSubview:navigator.view];
}

ってやってて表示されないのでどうしたものかと。selfはただのUIView何ですがほんとは別のところに貼り付けたかったりするんだけれども。。。うーぬ。

んでUIView.hみたらhasViewControllerとかisInAWindowというフラグが定義されていたので使えるのかな?と思って

#ifdef DEBUG
    NSLog(@"self has view Controller?:%@\n", self.view->_viewFlag.hasViewController);
#endif

とやってみたんだけどエラーが表示されて見れず。packageだからだめなのか…?わからーん。

ほか参考:

viewにviewスンナ:http://iphone-dev.g.hatena.ne.jp/iseebi/20100705/1278345640

ええとそしてどうすればよいのだorz


[]デリゲートを自分で実装して呼び出したりする 16:55

http://d.hatena.ne.jp/sugyan/20091213/1260708978

C#でもよくわかってないのに…(使えるけど)。setDelegateを使ってるのは実装忘れを防ぐためなのかな?

delegateを使おうとしてるのはこういうわけです。

http://ishidak.blogspot.com/2010/06/iphone-expected-specifier-qualifier.html


AndreiAndrei2013/10/14 14:50Keep on writing and chiunggg away!

BenjaminBenjamin2013/10/15 04:09<a href="http://alrddg.com">Thninikg</a> like that is really amazing

ShafalShafal2013/10/15 15:47Thanks for shgianr. What a pleasure to read! http://qymfjyq.com [url=http://bzcdbbrdlz.com]bzcdbbrdlz[/url] [link=http://tsmhnnw.com]tsmhnnw[/link]

EbruEbru2013/11/03 18:24Very valid, pithy, <a href="http://icrjctdvlph.com">sucicnct,</a> and on point. WD.

StivinStivin2013/11/16 03:24Action requires <a href="http://xckznggtg.com">knowgedle,</a> and now I can act!

AsukaAsuka2013/11/18 02:53At last, sooneme who knows where to find the beef http://qkamxfe.com [url=http://tbpvbmcl.com]tbpvbmcl[/url] [link=http://qrctzqt.com]qrctzqt[/link]