我想知道我可以定义任何应用程序范围的函数吗?比方说,我需要一个函数来给出标签的动态高度。在哪里以及如何定义这个函数,以便我可以在任意数量的文件中使用它?
也寻找基于文本计算标签动态高度的好代码。我尝试了网站上的许多代码,但这让我感到困惑。
谢谢..
发布于 2011-04-26 21:00:51
您可以通过创建一对.h/.m文件来创建全局函数,但不需要在其中声明Objective-C类。
相反,您可以使用C风格的函数,如下所示:
//Foo.h
CGFloat GetHeight(UIView *view);
//Foo.m
CGFloat GetHeight(UIView *view) {
return view.frame.size.height;
}然后,您可以将头文件包含在pch文件中,以便将其包含在所有位置。
然而,我认为在许多情况下,使用Category方法会更合适。类别方法将方法“附加”到类。
//UIView+MyAdditions.h
@interface UIView (MyAddittions)
- (CGFloat)height;
@end
//UIView+MyAdditions.m
@implementation UIView (MyAdditions)
- (CGFloat)height {
return self.frame.size.height;
}
@end只要.h文件包含在顶部(或全局),您就可以像使用[myView height]一样使用它。
发布于 2011-04-26 21:00:42
您可以在Appdelegate中编写函数,也可以在具有参数NSString的自定义NSObject类中编写静态方法。根据NSString的length,您可以设置height并从方法返回height,调用此方法的类可以使用它。
发布于 2011-04-26 22:19:27
通常,我在前缀标题中导入此类类(这包括我在整个应用程序范围内使用的对象的类别)。前缀标头中的所有导入都是应用程序范围的。默认情况下,iOS projects中的前缀题头如下:
appName_Prefix.pchhttps://stackoverflow.com/questions/5790658
复制相似问题