2009-06-15 10 views
0

У меня есть 2 вида таблицы в моем приложении с 5 UISwitch в каждом представлении. Для каждого коммутатора есть действие. Теперь я решаю изменить текст ярлыка switch.I смог изменить текст ярлыка от ON_OFF до ДА НЕТ . Но после реализации этого метода в отдельном классе, который является классом UISwitch, я не могу вызвать метод действия для этого конкретного коммутатора. То же самое хорошо работает, если я не реализую этот метод для изменения текста метки. Может кто-нибудь сказать мне, что я ошибаюсь.UISwitch Метод действия

ответ

0

Вы должны разместить фактический код; в частности, как вы изменили текст ярлыка. Используете ли вы недокументированные API? В описании класса UISwitch указано, что он не настраивается.

Когда вы говорите такие вещи, как «реализация этого метода в отдельном классе, который является классом UISwitch», вы имеете в виду, что вы подклассифицировали UISwitch? Это также не поддерживается. Это неуклюжий контроль, и многое из этого можно сделать без создания собственного.

+0

http://github.com/ars/uiswitch-extension--for-iphone-/tree/master Это ссылка, откуда я изменил текст. – iamsult

+0

Поскольку вы погружаетесь в частные взгляды UISwitch, вам придется начинать гадать, как Apple могла реализовать его под обложками. Вы возитесь с тегами вида; вы уверены, что Apple не использует их? Я постараюсь сделать как можно меньше предположений о базовой реализации, поэтому я бы не использовал теги представления. Просто найдите нужные вам взгляды и измените их текст. Не пытайтесь создать быстрый доступ к представлениям. Очень возможно, что Apple полагается на сам текст, чтобы узнать, что было затронуто, поэтому вам может потребоваться оставить только атрибут .text и изменить способ рисования метки. –

+0

О, и будьте готовы к этому, чтобы сломать будущие версии iPhoneOS. Я полностью ожидаю серьезных изменений в реализации UISwitch. Часто, когда Apple делает что-то слишком частным, это потому, что оно действительно уродливое, и они хотят иметь возможность исправить это, не нарушая существующий код (который является «существующим кодом, который следует за API»). –

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