Ios 如何将变量从父类发送到子自定义类
我有一个包含UIView的类文件viewController.h&m的viewController,但UIView有一个自定义类文件drawView.h&m,它在viewController.m中被#import“drawView.m”引用。我想在ViewController.m中设置一个UIColor变量(可以是任何颜色),并在drawView.m中传递和读取它Ios 如何将变量从父类发送到子自定义类,ios,objective-c,class,uiview,uiviewcontroller,Ios,Objective C,Class,Uiview,Uiviewcontroller,我有一个包含UIView的类文件viewController.h&m的viewController,但UIView有一个自定义类文件drawView.h&m,它在viewController.m中被#import“drawView.m”引用。我想在ViewController.m中设置一个UIColor变量(可以是任何颜色),并在drawView.m中传递和读取它 我知道如何将变量从一个视图控制器类文件传递到另一个视图控制器类文件,但它的工作方式似乎与将变量传递到UIView类文件的方式不同。请
我知道如何将变量从一个视图控制器类文件传递到另一个视图控制器类文件,但它的工作方式似乎与将变量传递到UIView类文件的方式不同。请提供帮助。您可以使用UserDafaults在
ViewController
中保存UIColor
,并获取颜色并在自定义类UIView
中使用
检查以下代码:
将UIColor
保存到UserDafaults
NSData *colorData = [NSKeyedArchiver archivedDataWithRootObject:[UIColor blueColor]];
[[NSUserDefaults standardUserDefaults] setObject:colorData forKey:@"myColor"];
从UserDafaults
获取UIColor
,如下所示:
NSData *colorData = [[NSUserDefaults standardUserDefaults] objectForKey:@"myColor"];
UIColor *color = [NSKeyedUnarchiver unarchiveObjectWithData:colorData];
[self.txtMobNo.layer setBorderColor:[color CGColor]];
尝试在ViewController viewWillApear或viewDidLoad中或viewWillApear或viewDidLoad之后设置颜色,以确保正确加载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");
}
}
请编辑您的问题以显示相关代码。