2015-06-11 2 views
7

Каждого UIView на раскадровке имеет уникальный идентификатор объекта, который выглядит примерно так: kvf-NI-koGКак сделать идентификатор объекта удобочитаемым?

enter image description here

Я задаюсь вопросом, есть ли способ, чтобы сделать это более человек дружественным, например, «MyLabel»?

ответ

6

Идентификатор объекта нельзя изменить с помощью Interface Builder.

Xcode использует идентификатор объекта в файле раскадровки (или XIB) для ссылки на этот объект из других объектов. Поскольку раскадровка (или XIB) является XML-файлом, вы также можете «отличать» версии файла, чтобы попытаться понять (или объединить) изменения, а идентификатор объекта может помочь вам сопоставить сущности в файле с объектами в интерфейсе Builder.

Открытый API не предоставляет идентификатор объекта. Таким образом, с точки зрения вашей программы, идентификатор объекта даже не существует.

Вы можете установить метку вида (в текстовом поле с меткой «Xcode Specific Label»). Эта метка используется в контуре документа (вдоль левой стороны панели Interface Builder) и при подключении соединений и ограничений. Но этот ярлык также не распространяется на вашу программу в публичном API.

+0

Вы скоро сможете! Swift идет с открытым исходным кодом! Хотя, я бы не рекомендовал его ... – Akaino

+0

Это была моя мысль, пока я не увидел проект со значимыми идентификаторами объектов, например «btnDone». Не могу понять, откуда это. –

+0

Я сомневаюсь, что вы видели измененный идентификатор объекта. Уверен, что это не значение TAG? – Akaino

0

Не уверен, что это все еще имеет значение - и если это вообще поможет - но если вы откроете раскадровку в качестве исходного кода (просто выберите ее в навигаторе файлов слева, щелкните правой кнопкой мыши и выберите Open As - > Исходный код): в исходном коде XML, который имеет раскадровка (первоначально, перед компиляцией), вы можете увидеть идентификаторы объектов для каждого элемента и изменить их в коде. Это будет отражено в представлении интерфейса Builder раскадровки (просто используйте Open As -> Interface Builder-Storyboard).

Не уверен, что это мудрая идея! (Не уверены в его последствиях.)

Cheers, Björn

Смежные вопросы