Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/44.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 我是否可以编写一个通用函数来修改所有视图控制器中的UI元素?_Iphone_Objective C_Ios_Ios4 - Fatal编程技术网

Iphone 我是否可以编写一个通用函数来修改所有视图控制器中的UI元素?

Iphone 我是否可以编写一个通用函数来修改所有视图控制器中的UI元素?,iphone,objective-c,ios,ios4,Iphone,Objective C,Ios,Ios4,我想知道是否有一种方法可以编写一个通用函数,该函数可以存储在一个实用程序类中,该类可以修改UI元素 换句话说,现在我正在以编程方式更改某些UI元素的颜色,如下所示: headerLabel.textColor = [UIColor colorWithRed:red green:green blue:blue alpha:1.0]; //Where red, green and blue are variables that are derived from another function

我想知道是否有一种方法可以编写一个通用函数,该函数可以存储在一个实用程序类中,该类可以修改UI元素

换句话说,现在我正在以编程方式更改某些UI元素的颜色,如下所示:

headerLabel.textColor = [UIColor colorWithRed:red green:green blue:blue alpha:1.0];

//Where red, green and blue are variables that are derived from another function 
//that converts Hex to RGB and 'headerLabel' is a UILabel with a connected IBOutlet
在每个视图控制器中都会发生相同的过程,所以我想知道是否有办法使其成为一个通用函数

在Java/androidsdk中,我可以传递类的上下文,然后从那里完成其余的工作

提前谢谢你

编辑:


为了重新表述这个问题,我想在这个泛型类中使用
headerLabel.textColor=
函数和其他方法,比如
headerLabel.text=@“foo”
,而不一定只是颜色函数。

是的,可以创建一个全局文件来存储所有颜色、首选项(如导航栏、标题等),

创建一个类似gconstants的类,然后将所有字符串存储在h/m文件中

 extern NSString *const APP_TITLE;

 @interface UIColor (APP)
+(UIColor *) APP_NAV_COLOR;
 @end
在.m文件中

 NSString *const APP_TITLE = @"APP Name";

@implementation UIColor (APP)

+(UIColor *) APP_NAV_COLOR { return [UIColor colorWithRed:00/256.0 green:111/256.0    
 blue:59/256.0 alpha:1.0]; }
@结束

并在任何控制器中声明头文件

 self.navigationController.navigationBar.tintColor = [UIColor APP_NAV_COLOR];

headerLabel.textColor = [UIColor APP_NAV_COLOR];

self.title = APP_TITLE

是的,可以创建一个全局文件来存储所有颜色、首选项(如导航栏、标题等)

创建一个类似gconstants的类,然后将所有字符串存储在h/m文件中

 extern NSString *const APP_TITLE;

 @interface UIColor (APP)
+(UIColor *) APP_NAV_COLOR;
 @end
在.m文件中

 NSString *const APP_TITLE = @"APP Name";

@implementation UIColor (APP)

+(UIColor *) APP_NAV_COLOR { return [UIColor colorWithRed:00/256.0 green:111/256.0    
 blue:59/256.0 alpha:1.0]; }
@结束

并在任何控制器中声明头文件

 self.navigationController.navigationBar.tintColor = [UIColor APP_NAV_COLOR];

headerLabel.textColor = [UIColor APP_NAV_COLOR];

self.title = APP_TITLE

如果要在所有文件中使用HEX->UICOLOR,请使用以下命令:

#define UIColorFromHEX(hexValue) [UIColor colorWithRed:((float)((hexValue & 0xFF0000) >> 16))/255.0 green:((float)((hexValue & 0xFF00) >> 8))/255.0 blue:((float)(hexValue & 0xFF))/255.0 alpha:1.0]
Prefix.pch
文件中。然后,在每个文件中,您可以通过

something.color = UIColorFromHEX(0xCCCCCC);

您可以通过
#define
宏定义所有内容。如果要定义
标题标签.textColor
,请使用

#define setHeaderLabelColor headerLabel.textColor = [UIColor ...]

如果要在所有文件中使用HEX->UICOLOR,请使用以下命令:

#define UIColorFromHEX(hexValue) [UIColor colorWithRed:((float)((hexValue & 0xFF0000) >> 16))/255.0 green:((float)((hexValue & 0xFF00) >> 8))/255.0 blue:((float)(hexValue & 0xFF))/255.0 alpha:1.0]
Prefix.pch
文件中。然后,在每个文件中,您可以通过

something.color = UIColorFromHEX(0xCCCCCC);

您可以通过
#define
宏定义所有内容。如果要定义
标题标签.textColor
,请使用

#define setHeaderLabelColor headerLabel.textColor = [UIColor ...]

您想在所有文件中都使用
HEX
to
UIColor
函数吗?我希望在全局类中使用
headerLabel.textColor=
,不一定是颜色函数。你想在所有文件中都有
HEX
to
UIColor
函数吗?我希望在全局类中有
headerLabel.textColor=
而不一定是颜色函数。谢谢你的帖子。但是,我正在寻找一种将所有内容、颜色函数和
headerLabel.textColor=
存储在全局类中的方法。有什么想法吗?我只是为每个UI元素创建了一组函数,然后在视图控制器中列出元素,并将UIColor指向那些实用功能谢谢你的帖子。但是,我正在寻找一种将所有内容、颜色函数和
headerLabel.textColor=
存储在全局类中的方法。有什么想法吗?我只是为每个UI元素创建了一组函数,然后在视图控制器中列出元素,并将UIColor指向那些实用程序函数。这就是我要找的。。我将对它进行测试以确认。谢谢看起来我只能用它来实现简单的单行函数。我需要50多行这样的东西。不,你可以把所有50行放在那里:
#定义一些东西行1;第2行;第3行;第4行;第5行
如何将其子类化?我知道你现在可以添加更多的行了,如果我把所有的行都挤在一起,代码中的内容就有点难读了。fwiw,在
\define
宏中,行可以有一个连续字符,\,因此下一行被视为属于宏。无法在注释中正确显示此内容,例如:
\define SWAP(a,b){\a^=b;\b^=a;\a^=b;\}
。每个\都在一行的末尾,因此宏总共包含5行。这就是我要找的。。我将对它进行测试以确认。谢谢看起来我只能用它来实现简单的单行函数。我需要50多行这样的东西。不,你可以把所有50行放在那里:
#定义一些东西行1;第2行;第3行;第4行;第5行
如何将其子类化?我知道你现在可以添加更多的行了,如果我把所有的行都挤在一起,代码中的内容就有点难读了。fwiw,在
\define
宏中,行可以有一个连续字符,\,因此下一行被视为属于宏。无法在注释中正确显示此内容,例如:
\define SWAP(a,b){\a^=b;\b^=a;\a^=b;\}
。每个\都位于一行的末尾,因此宏总共包含5行。