Как изменить форму пользовательского элемента управления?

#iphone #objective-c #uisegmentedcontrol

#iPhone #objective-c #пользовательский элемент управления

Вопрос:

Итак, я создаю пользовательский элемент управления для своего приложения, и он основан на UISegmentedControl. Сам элемент управления работает нормально, но мне было интересно, как я могу сделать закругленные углы UISegmentedControl менее закругленными?

Ответ №1:

Вы можете использовать базовый слой и сделать что-то вроде этого:

 [mySegmentendControler.layer setCornerRadius:newValue];
  

Комментарии:

1. Я пробовал это, но Xcode говорит, что свойство corerRadius не найдено?

2. @cgossain просто выполните #import <QuartzCore/QuartzCore.h>, и вы увидите свойство. Помните, что сначала вы должны добавить фреймворк в проект, если вы еще этого не сделали. Надеюсь, это поможет.

3. хорошо, теперь я вижу свойство, но я устанавливаю радиус угла равным нулю, и ничего не меняется?

4. Изменение слоя изменит способ компоновки рисунка сегментированного элемента управления на экране. Это не изменит выполненный фактический рисунок, который получен из изображений. Вам нужно будет создать свой собственный подкласс элемента управления, чтобы выполнить такого рода пользовательский чертеж.

5. Не могли бы вы опубликовать какой-нибудь код о том, как я мог бы изменить метод drawRect для рисования UISegmentedControl?