2016-07-13 16 views
0

Интересно, действительно ли невозможно изменить размер по умолчанию UISwitch непосредственно с XIB? Я новичок в iOS, скажите, пожалуйста, как вы изменяете размер.Изменение размера UISwitch от XIB

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

enter image description here

ответ

1

Нет, насколько я заинтересован.

Почему вы так или иначе хотите? Я не пробовал это в коде, но я думаю, что вы тоже не можете это сделать в коде.

Постоянный размер UISwitch есть по какой-то причине. В отличие от других элементов управления, которые имеют переменные размеры, Apple явно не хочет, чтобы вы меняли размер UISwitch.

Видите ли, если вы сделаете UISwitch шире, он больше не будет выглядеть как переключатель. Это больше похоже на UISlider! Если вы сделаете UISwitch выше, круглая вещь, которая может двигаться, станет больше, не так ли? И так как ширина не меняется, круглая штука некуда будет двигаться! Так будет плохо в любом случае. Если вы увеличиваете/уменьшаете переключатель при сохранении пропорций, текст рядом с ним должен быть увеличен/уменьшен или он будет выглядеть уродливым. В результате используется гораздо более ценное пространство экрана (увеличить), или переключатель очень трудно использовать (уменьшить).

Так что даже не пытайтесь это сделать.

+0

Добавлен снимок экрана. Посмотрите, как переключатель может выглядеть лучше, если я могу свести к минимуму размер. –

+0

Вам нужно сделать свой экран входа в виде таблицы. 'UISwitch' выглядит лучше всего, когда помещается в ячейку таблицы. Попробуй! Если вы все еще хотите изменить размер переключателя, попробуйте LLSwitch, он даже имеет классную анимацию! https://github.com/lilei644/LLSwitch – Sweeper

+0

Если вы считаете, что мой ответ или другой ответ отвечает на ваш вопрос, пожалуйста, подумайте о том, чтобы принять любой из них, нажав на галочку. – Sweeper

0

Вы не должны изменять размер UISwitch. Это действительно возможно (например, с использованием CGAffineTransform), но, как утверждает Apple в своих руководящих принципах API, вы не должны изменять размер элементов интерфейса по умолчанию.

Если вы хотите создать собственное решение, вы можете создать свой собственный коммутатор - многие приложения используют настраиваемые элементы управления пользовательским интерфейсом, а это not prohibited от Apple. Создайте подкласс UIControl или UIButton или что-то подходящее для ваших нужд, добавьте пользовательский код инициализации и обработки состояния, и вы хорошо пойдете! Эти элементы управления могут быть изменены по мере необходимости.

0

Вы можете сделать это с помощью кода

switch.transform = CGAffineTransformMakeScale(0.75, 0.75) 

Или попробовать UIButton с изображениями пользовательского переключателя и изменить его свойство выбора.