Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/116.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 如何创建包装UIOffset结构的NSValue?_Ios_Cocoa Touch - Fatal编程技术网

Ios 如何创建包装UIOffset结构的NSValue?

Ios 如何创建包装UIOffset结构的NSValue?,ios,cocoa-touch,Ios,Cocoa Touch,我正在尝试更改我的文本阴影位置。要做到这一点,需要传入一个封装UIOffset结构的 UITextAttributeTextShadowOffset Key to the offset used for the text shadow in a text attributes dictionary. The corresponding value is an instance of NSValue wrapping a UIOffset struct. Available

我正在尝试更改我的文本阴影位置。要做到这一点,需要传入一个封装UIOffset结构的

UITextAttributeTextShadowOffset
    Key to the offset used for the text shadow in a text attributes dictionary.
    The corresponding value is an instance of NSValue wrapping a UIOffset struct.
    Available in iOS 5.0 and later.
    Declared in UIStringDrawing.h.
问题是UIOffset结构没有这样的包装方法-只需搜索文档即可。我看到很多人使用这个不存在的函数

[NSValue valueWithUIOffset:UIOffsetMake(0, 1)]

当我试图运行它时,它崩溃了。我不明白有多少示例代码可以运行它。

请查看,这是一个类别,除了其他有用的内容外,还添加了您所使用的
-[NSValue valueWithUIOffset:
方法。

请查看,这是一个类别,其中添加了
-[NSValue WithUIOffset:]
您所追求的方法。

它可能不在文档中,但它存在,并且可以工作:

NSValue *uiOffsetValue = [NSValue valueWithUIOffset:UIOffsetMake(0, 1)];
NSLog(@"%@", uiOffsetValue);
// outputs "UIOffset: {0, 1}"

你是什么意思,当你试图运行它时它崩溃了?如果该方法不存在,那么它甚至不应该编译。如果您的应用程序已编译但崩溃,那么问题一定是其他原因。

文档中可能没有,但它存在,并且可以工作:

NSValue *uiOffsetValue = [NSValue valueWithUIOffset:UIOffsetMake(0, 1)];
NSLog(@"%@", uiOffsetValue);
// outputs "UIOffset: {0, 1}"

你是什么意思,当你试图运行它时它崩溃了?如果该方法不存在,那么它甚至不应该编译。如果您的应用程序已编译但崩溃,那么问题一定是其他原因。

Xcode仅警告不要将未知消息传递给对象。当未知消息传递给对象时,Objective-C将在运行时崩溃。真的吗?我有一个普通的Xcode设置,如果我尝试使用一个未知的方法,我会得到一个“选择器'foo:'的未知类方法”,它甚至不会编译。实际上,在进一步测试之后。它只在我的iOS 4设备上崩溃。它在我的iOS 5设备上工作。这是可以理解的,因为设置阴影位置仅在5上受支持。但是关于为什么valueWithUIOffset不在文档中还有一个未解之谜。它在文档中-请参见此处:它还说“在iOS 5.0及更高版本中可用”,因此解释了它在iOS 4设备上崩溃的原因。Xcode仅警告不要将未知消息传递给对象。当未知消息传递给对象时,Objective-C将在运行时崩溃。真的吗?我有一个普通的Xcode设置,如果我尝试使用一个未知的方法,我会得到一个“选择器'foo:'的未知类方法”,它甚至不会编译。实际上,在进一步测试之后。它只在我的iOS 4设备上崩溃。它在我的iOS 5设备上工作。这是可以理解的,因为设置阴影位置仅在5上受支持。但是关于为什么valueWithUIOffset不在文档中还有一个未解之谜。它在文档中-请参见:它还说“在iOS 5.0及更高版本中可用”,这就解释了为什么它会在iOS 4设备上崩溃。