Как вы создаете NSValue, обертывающий структуру UIOffset? - PullRequest
1 голос
/ 31 марта 2012

Я пытаюсь изменить положение тени текста моего UISegmentedControl . Для этого документация говорит, что мне нужно передать NSValue , который оборачивает структуру 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.

Проблема в том, что NSValue не имеет такого метода-обертки для структуры UIOffset - просто найдите документацию. Я видел множество примеров кода , использующих эту несуществующую функцию.

[NSValue valueWithUIOffset:UIOffsetMake(0, 1)]

Сбой при попытке запустить. Я не понимаю, сколько примеров кода может его запустить.

Ответы [ 2 ]

5 голосов
/ 31 марта 2012

Ознакомьтесь с NSValue UIKit Additions , категорией, которая, помимо других полезных вещей, добавляет метод -[NSValue valueWithUIOffset:], который вам нужен.

1 голос
/ 31 марта 2012

Возможно, его нет в документации, но он существует, и он работает:

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

Что вы имеете в виду, он вылетает при попытке его запустить?Если метод не существует, он даже не должен компилироваться.Если ваше приложение компилируется, но вылетает, проблема должна быть в другом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...