2013-09-23 2 views
51

У меня есть приложение, которое включает в себя множество круглых кнопок. Однако, в xcode 5, они не существуют. Как вернуть круглые прямоугольные кнопки? Они важны для моего приложения. Теперь это просто текст с прессой. Что я делаю? Я планирую выпустить это приложение позже, если это актуально.Xcode 5 Round Rect Buttons

+0

удивительно IOS 7 Maps приложение имеет круглую кнопку Прямоугольник информация. –

ответ

153
  1. Откройте раскадровку и выберите кнопку, которую хотите изменить.
  2. Откройте идентификационный инспектор в панели служебных программ (правая панель, 3-я кнопка сверху).
  3. Добавить (+) новый атрибут Runtime, определенный пользователем, - Key Path: layer.cornerRadius, Тип: Number, Value: {integer}.

Чем выше число, тем больше закругленные углы. 50 - круг для стандартной кнопки (или ширины/2). Вы не увидите изменений в раскадровке, но показывается во время выполнения.

Screenshot of added attribute

+8

Ответы, вот почему я люблю SO. Огромное спасибо. – tim

+0

Хорошо учиться делать трюк от IB –

3

Установите фоновое изображение на ваших кнопках с нужными границами, используя растягиваемое изображение.

Проверить ссылку на хороший пример: Stretch background image for UIButton

ИЛИ, принять новый iOS7 UI и ломом границы ... ;-)

10

Вот подобный ответ, который я дал this question:

-EDIT-
Добавить: #import <QuartzCore/QuartzCore.h> в начало вашего .h файла.

Если вы хотите закругленные углы просто ctrl-drag от кнопки к файлу .h, назвать это что-то вроде roundedButton и добавить это в viewDidLoad:

CALayer *btnLayer = [roundedButton layer]; 
[btnLayer setMasksToBounds:YES]; 
[btnLayer setCornerRadius:5.0f]; 

Чтобы сделать кнопку белый (или любой другой цвет), выберите инспектор атрибутов и прокрутите вниз до раздела View, выберите фон и изменить его на белый:

enter image description here

+4

ОЧЕНЬ важно. это не сработает, если вы не добавите #import skinsfan00atg

+0

Справедливая точка и +1. Я отредактировал ответ, чтобы включить его. – Robert

+1

спасибо, не беспокойтесь, просто взял меня на секунду, поэтому я хотел поделиться. спасибо за более трудную работу :-) – skinsfan00atg

3

же можно достичь с помощью programmatically.where MyView является объектом IBOutlet.

myView.layer.cornerRadius = 5; 
myView.layer.masksToBounds = YES; 
3

Swift 2,0:

let sampleButton = UIButton(frame: CGRectMake(100,100,200,100)) 
    sampleButton.titleLabel?.text = "SAMPLE" 
    sampleButton.backgroundColor = UIColor.grayColor() 

    //Setting rounded boarder 
    sampleButton.layer.cornerRadius = 10 
    sampleButton.layer.borderWidth = 1 
    sampleButton.layer.borderColor = UIColor.blackColor().CGColor 

    self.view.addSubview(sampleButton) 
3

Нажмите на кнопку вы хотите получить округлый. Затем нажмите на ИдентификаторИнспектор с правой верхней стороны. Там вы можете видеть Пользовательские атрибуты времени выполнения. Нажмите на плюс (+)

see image

Вы не увидите изменения в View. Вы увидите его в Время воспроизведения

1

В Swift 3: мы добавили это viewdidload

button.layer.cornerRadius = 0.5*button.bounds.size.width 
    button.clipsToBounds = true 
Смежные вопросы