Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/43.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
Ios 仅为iPhone启用类别_Ios_Iphone_Ipad_Categories - Fatal编程技术网

Ios 仅为iPhone启用类别

Ios 仅为iPhone启用类别,ios,iphone,ipad,categories,Ios,Iphone,Ipad,Categories,我有iPhone和iPad项目。我为iPhone使用了一些UINavigationBar类别。在iPad上它不起作用。我想禁用它。如何在iPhone上启用它 - (CGSize)sizeThatFits:(CGSize)size{ size.width = self.frame.size.width; size.height = 90; return size; } 我不知道你为什么要这样做,但是,一般来说,当你有一个涉及iPhone和iPad的项目时,如果代码有差异,那么你会有3个类 类库

我有iPhone和iPad项目。我为iPhone使用了一些UINavigationBar类别。在iPad上它不起作用。我想禁用它。如何在iPhone上启用它

- (CGSize)sizeThatFits:(CGSize)size{
size.width = self.frame.size.width;
size.height = 90;
return size;
}

我不知道你为什么要这样做,但是,一般来说,当你有一个涉及iPhone和iPad的项目时,如果代码有差异,那么你会有3个类

  • 类库
  • ClassPhone:ClassBase
  • ClassPad:ClassBase

您只需将该类别导入ClassPhone类,而不是ClassIPad类

如果您的类别正在重新定义基类方法,您应该使用子类化,并且只为iPhone使用新的类。如果你要添加新功能,你可以使用像IS-IPAD这样的宏,你可以定义读取设备习惯用法,并对iPhone-IPAD进行条件执行,我相信他们在问如何做到这一点。在没有详细说明如何(使用代码)的情况下,我会说这是一个不完整的答案。我会尽快发布我建议使用的完整代码,以便它更完整。现在我只在我的iphone中,没关系,只是看起来不完整而已。那么你是说仅仅存在sizeThatFits:方法就在iPad上造成了问题?请记住,覆盖类别中的现有方法是一个非常糟糕的主意。你真的不应该这么做。那我怎么才能增加导航栏的高度呢?你能帮我吗?试着设置它的框架。您在问题中没有提供任何有用的信息。如何创建/添加导航栏?