2015-06-22 1 views
0

Есть ли способ, чтобы вы могли одновременно установить изображение и заголовок UISegmentControl, чтобы изображение появилось рядом с заголовком, точно так же, как изображение появляется рядом с заголовком в UIButton.Добавление изображения И заголовок как в UIsegmentControl IOS

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

+0

Надежный ответ peter поможет вам использовать категории http://stackoverflow.com/questions/13457876/uisegmentedcontrol-with-image-and-title – Sujania

ответ

7

Официальная документация для -setImage:forSegmentAtIndex: говорит

Сегмент может иметь только изображение или название; он не может иметь обоих. Изображение по умолчанию отсутствует.

Таким образом, нет способа сделать то, что вы хотите, используя свойства изображения и названия.

Однако есть несколько вариантов достижения цели по-разному.

  • , если вы собираетесь использовать один и тот же образ для каждого сегмента, можно использовать методы внешнего вида, чтобы установить фон, а затем использовать метод -setContentOffset:forSegmentAtIndex: переместить заголовок в сторону фонового изображения.
  • вы можете создать изображение с иконой и текстом в ней. Это меньше, чем идеально, поскольку изменение текста требует экспорта всего актива снова. Но это вариант.
  • наименее идеальным было бы подделка сегментированного элемента управления с помощью кнопок, которые вы пишете код для обработки изменений состояния. Могут быть даже некоторые варианты с открытым исходным кодом, которые делают именно это, поэтому не стесняйтесь их искать.