gpt4 book ai didi

iphone - #if TARGET_OS_IPHONE 与 iPhone 和 iPad

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:10:55 27 4
gpt4 key购买 nike

我有一个问题,我想为 iPhone 和 iPad 添加不同的导入文件,但是对于 iPad 不起作用,我是这样做的:

#if TARGET_OS_IPHONE
#import "MyView_iPhone.h"
#elif TARGET_OS_IPAD
#import "MyView_iPad.h"
#endif

在代码中然后我写例如:

MyView_iPhone *iphone = [MyView_iPhone alloc] init];

有效,但是:

MyView_iPad *iphone = [MyView_iPad alloc] init];

不起作用,给我一个错误,因为看不到 MyView_iPad.h,我该怎么办?

这是错误:

未知接收者“MyView_iPad”;您是说“MyView_iPhone”吗?

最佳答案

<TargetConditionals.h>实际上并没有定义 TARGET_OS_IPAD .你无法在编译时知道你是为 iphone 还是 ipad 执行!这是你应该在运行时检查的东西,导入两个 View 并做类似的事情:

UIView *iphone;
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
iphone = [[MyView_iPad alloc] init];
}
else{
iphone = [[MyView_iPhone alloc] init];
}

关于iphone - #if TARGET_OS_IPHONE 与 iPhone 和 iPad,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18892180/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com