3

背景:

質問:

  • 私の質問は、EKEventEditView の色をカスタマイズする方法です。このビューは、私のコードではなく、EKEventView の Apple コードによってトリガーされました。

API へのリンク:

4

2 に答える 2

5

Apple がこのコードにどのように応答するかはわかりませんが、うまくいきます :)

[[NSNotificationCenter defaultCenter] addObserver:self 
                                         selector:@selector(willShowController:) 
                                             name:@"UINavigationControllerWillShowViewControllerNotification" 
                                           object:nil];

そしてセレクターメソッド:

-(void)willShowController:(NSNotification*)sender{
    NSLog(@"%@ ", [sender description]);

    UIViewController *controller = (UIViewController*)[sender object];

    if ([controller isKindOfClass:EKEventEditViewController.class]){
        UITableViewController *rootController = (UITableViewController*)[(UINavigationController*)controller visibleViewController];

        UITableView *tv = (UITableView*)[rootController view];
        [tv setBackgroundColor:[UIColor redColor]];
        UIView *v = (UIView*)[[tv visibleCells] objectAtIndex:0];
        v.backgroundColor = [UIColor blueColor];
    }
}

UINavigationControllerWillShowViewControllerNotificationSDK で見つけることができない文字列は 1 つだけです。しかし、この場合、それは文字列だけです..これがあなたを助けてくれることを願っています.

于 2011-10-28T15:48:43.417 に答える
1

私はあなたが何を求めているのかわからないのでわかりませんが、UIViewControllerのサブクラスなので、yourEventViewController.viewで色を試してみてください。

それが役に立ったら教えてください。

于 2011-10-25T02:38:14.567 に答える