Заставить Interface Builder изменить класс объектов (UIButton-> UIControl) - PullRequest
1 голос
/ 28 июля 2010

У меня есть UIView, заполненный кнопками, которые все хорошо подключены к действиям и розеткам.Тем не менее, исходя из своей бесконечной мудрости, я решил, что я действительно предпочел бы, чтобы поведение кнопок было другим, и подкласс UIControl.

Мой план состоял в том, чтобы перейти в Interface Builder, изменить класс кнопок на мой новыйUIControl подкласс, а затем будет запущен.Это сохранит все соединения с выходами и действиями.

В IB (View Identity Inspector), когда я набираю свой подкласс UIControl в поле класса, он возвращается к UIButton, когда я выхожу.Любой подкласс UIButton работает, но не UIControl.Я могу перейти вниз по дереву наследования, но не вверх ....

Первым планом было перейти на XCode и временно изменить суперкласс моего нового элемента управления на UIButton, изменить «класс» моих кнопок IB,и затем измените суперкласс кода XCode обратно на UIControl.IB принял и изменил класс, но запуск приложения дает мне невидимые кнопки.Инспектор атрибутов IB по-прежнему показывает его в виде кнопки.

Создание элемента управления с нуля и перемонтирование работает, но я надеялся не перепутать все кнопки, если этого можно было бы избежать.(Это изменение, которое я надеялся охватить несколькими приложениями, так что это звучит немного более болезненно)

Кто-нибудь знает, как с этим справиться?

большое спасибо!

1 Ответ

0 голосов
/ 15 июля 2011

Я опоздал на год, но, возможно, это поможет кому-то в будущем.Возможно, вы могли бы открыть .xib в текстовом редакторе и выяснить, какой текст вам нужно будет изменить, чтобы заставить его работать (сначала попробуйте на примере проекта), а затем используйте find и replace, чтобы исправить все сразу.1001 *

...