2017-01-20 16 views
0

私はUIViewを含むViewController.h & mクラスのviewControllerを持っていますが、UIViewには参照先のカスタムクラスファイルdrawView.h & mがあります#import "drawView.m"によるViewController.m。私はViewController.mでUIColor変数(任意の色でも可)を設定し、それを渡してdrawView.mで読みたいと思います。親クラスから子カスタムクラスに変数を送信する方法

私は、1つのView Controllerクラスファイルから別のViewControllerクラスファイルに変数を渡す方法は知っていますが、UIViewクラスファイルに渡すのと同じ方法では動作しません。助けてください。

+0

* *を編集して関連コードを表示してください。 – Paulw11

答えて

0

UserDafaultsを使用すると、ViewControllerUIColorを保存し、色を取得してカスタムクラスUIViewで使用できます。コードの下

チェック:

保存UIColorUserDafaults

NSData *colorData = [NSKeyedArchiver archivedDataWithRootObject:[UIColor blueColor]]; 
[[NSUserDefaults standardUserDefaults] setObject:colorData forKey:@"myColor"]; 

としてUserDafaultsからUIColorを取得:のViewController viewWillApearかのviewDidLoadでまたはviewWillApearかのviewDidLoadの後に色を設定してみてください

NSData *colorData = [[NSUserDefaults standardUserDefaults] objectForKey:@"myColor"]; 
UIColor *color = [NSKeyedUnarchiver unarchiveObjectWithData:colorData]; 
[self.txtMobNo.layer setBorderColor:[color CGColor]]; 
0

drawViewが正しくロードされていることを確認してください。

-(void)viewWillAppear:(BOOL)animated 
{ 
    [super viewWillAppear:animated]; 

    // Any color that u want to use 
    UIColor * color =[UIColor redColor]; 

    if([self.drawView) 
    { 
     // applyeColor is drawview's custom method 
     [self.drawView applyColor:color]; 
    } 
    else 
    { 
    NSlog (@"drawView is nil"); 
    } 
} 
関連する問題