Подтвердить что ты не робот

XCode Interface Builder: изменить класс уже размещенного объекта

Есть ли способ сделать это? Я хочу не только установить Class Identity, но и изменить созданный класс (поэтому свойства объекта должны измениться).

Причина в том, что я разместил UIView и много подзаголовков. Теперь я хочу изменить его на UITableViewCell. Может быть, это может быть сделано путем "взлома" xib файла?

4b9b3361

Ответ 1

К сожалению, безумно, что нет никакого способа сделать это в InterfaceBuilder (который я нашел). Изменение пользовательского класса просто добавляет пользовательский класс в UIView, в отличие от изменения UIView в класс, который вы хотите его использовать (например, UITableViewCell), используя все свойства, которые может иметь ваш желаемый вид. Вы можете увидеть это в XML файле раскадровки.

Вы хотите, скажем, следующее:

<label text="Label" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" ... id="Flb-Qd-jpJ"> ... </label>

а не это:

<view ... id="Flb-Qd-jpJ" customClass="UILabel"> ... </view>

но Xcode дает вам только последнее; он обновляет атрибут customClass вида, а не обновляет весь элемент.

Если вы хотите получить предыдущее, вы все равно можете его получить, но вам придется вручную отредактировать файл xml, сохраняя идентификатор элемента одинаковым. Вот замечательная статья в блоге, объясняющая это более подробно: http://codenetwaves.blogspot.com.br/2012/09/change-view-to-scrollview-in-xcode.html

Ответ 2

В построителе интерфейса вы откроете третью вкладку и найдите Custom Class. Там вы можете изменить UIView на UITableViewCell