2016-03-04 6 views
0

Я пытаюсь установить переключатель с двумя опциями: «Single» и «Sweep». Я перетащил радиокнопку в свою раскадровку, а затем добавил ее в матрицу, используя Editor-> Embed in. Затем я изменил количество строк на два.У NSMatrix слишком много кнопок?

Я вижу два переключателя на дисплее IB, инспектор говорит, что есть две строки, и когда я запускаю его, я вижу только две кнопки. Тем не менее, есть три кнопки в иерархии отображения:

enter image description here

Кажется, вторые один под названием «Single» является реальным, когда вы нажимаете на линии в левой панели вы можете увидеть тень выбор появляется в в том же месте, что и первая кнопка. Я попробовал все, что мог, чтобы удалить эту запись, но ничего не работает.

Это может быть просто ошибка IB, о которой я должен сообщить, но я не уверен, что я просто не сделал что-то неправильно в настройке этого. Кто-нибудь еще видел что-то подобное?

+0

Если вам не нужно поддерживать <10.8, я бы пропустил использование NSMatrix (поскольку его использование устарело) и используйте 2 переключателя с тем же действием: «Основное использование NSMatrix - для групп переключателей, так что вспомним, что для приложений, связанных с 10.8 или новее, переключатели, которые имеют одно и то же родительское представление и действие, будут работать как группа ». – Wevah

+0

О! На протяжении многих лет мне удалось пропустить это. Спасибо Wevah, что делает мою жизнь намного легче, потому что она также решает, как ее правильно привязать - я просто привязал ее к NSNegateBoolean другого. Прекрасно работает! –

+0

@Wevah: просто записка, я попробовал это на следующем экране, где я использовал радиостанции. Но поскольку никаких действий, связанных с привязкой (часто), нет, этот подход не работает. Встраивание их в матрицу заставляет его работать, поэтому мне придется использовать это, пока они не придумают лучшее решение. –

ответ

4

Первая ячейка под матрицей в контуре документа является прототипом ячейки. От NSMatrix Class Reference: :

Ячейка прототипа, которая копируется всякий раз, когда матрица создает новую ячейку.

NSMatrix имеет кучу методов, как addRow и insertColumn:, которые делают копии прототипа.

+0

Ahhh, RTFMoreКак. Это может быть хорошей идеей для того, чтобы эта ячейка была названа «Prototype», так что это более очевидно! –

+0

Действительно. Я понял это, посмотрев XML (щелкните правой кнопкой мыши XIB> Open As> Source Code). –