Как закруглить углы кнопки
У меня есть прямоугольное изображение (jpg) и вы хотите использовать его для заполнения фона кнопки с закругленным углом в xcode.
Я написал следующее:
UIButton *button = [[UIButton buttonWithType:UIButtonTypeRoundedRect] retain];
CGRect frame = CGRectMake(x, y, cardWidth, cardHeight);
button.frame = frame;
[button setBackgroundImage:backImage forState:UIControlStateNormal];
Однако кнопка, которую я получаю с этим подходом, не имеет округленных углов: вместо этого простой прямоугольник выглядит точно так же, как и исходное изображение. Как я могу получить изображение с закругленным углом, чтобы представить мою кнопку?
Спасибо!
Ответы
Ответ 1
Я думаю, что у меня возникла ваша проблема, я попробовал следующее решение с UITextArea, и я полагаю, что это будет работать и с UIButton.
прежде всего импортируйте это в свой .m файл -
#import <QuartzCore/QuartzCore.h>
а затем в вашем методе loadView
добавьте следующие строки
yourButton.layer.cornerRadius = 10; // this value vary as per your desire
yourButton.clipsToBounds = YES;
Надеюсь, это сработает для вас, и если да, то общайтесь.
Ответ 2
Вы можете достичь этим атрибутами RunTime
![enter image description here]()
мы можем сделать пользовательскую кнопку. Просто см. скриншот прилагается.
любезно обратите внимание:
в атрибутах времени выполнения, чтобы изменить цвет границы, следуйте этой инструкции
-
создать класс категории CALayer
-
в h файле
@property(nonatomic, assign) UIColor* borderIBColor;
-
в файле m:
-(void)setBorderIBColor:(UIColor*)color {
self.borderColor = color.CGColor;
}
-(UIColor*)borderIBColor {
return [UIColor colorWithCGColor:self.borderColor];
}
теперь, чтобы установить скриншот проверки цвета рамки
![обновленный ответ]()
спасибо
Ответ 3
Вы можете проверить мою библиотеку под названием DCKit. Это написано в последней версии Swift.
Вы можете напрямую создать закругленную угловую кнопку/текстовое поле из конструктора интерфейса:
![DCKit: закругленная кнопка]()
В нем также есть много других интересных функций, таких как текстовые поля с проверкой, элементы управления с границами, пунктирные границы, круговые и волосные взгляды и т.д.
Ответ 4
Импортировать структуру QuartCore, если она отсутствует в вашем существующем проекте, а затем импортировать #import <QuartzCore/QuartzCore.h>
в viewcontroller.m
UIButton *button = [[UIButton buttonWithType:UIButtonTypeRoundedRect]];
CGRect frame = CGRectMake(x, y, width, height); // set values as per your requirement
button.layer.cornerRadius = 10;
button.clipsToBounds = YES;
Ответ 5
Нажатие на пределы радиуса угла до круга:
self.btnFoldButton.layer.cornerRadius = self.btnFoldButton.frame.height/2.0;
![введите описание изображения здесь]()
Если рамка кнопки представляет собой квадрат, это не имеет значения frame.height или frame.width. В противном случае используйте самый большой из них.
Ответ 6
UIButton* closeBtn = [[UIButton alloc] initWithFrame:CGRectMake(10, 50, 90, 35)];
//Customise this button as you wish then
closeBtn.layer.cornerRadius = 10;
closeBtn.layer.masksToBounds = YES;//Important
Ответ 7
Если вы хотите закругленный угол только в один угол или два угла и т.д.... прочитайте это сообщение:
[ObjC] - UIButton с закругленным углом - http://goo.gl/kfzvKP
Это подкласс XIB/Storyboard. Импортируйте и установите границы без кода записи.
Ответ 8
Альтернативный ответ, который также устанавливает границу (что делает ее более похожей на кнопку), здесь... Как установить границу прямоугольника для пользовательского типа UIButton
Ответ 9
Первая ширина набора = 100 и высота = 100 кнопок
YourBtn1.layer.cornerRadius=YourBtn1.Frame.size.width/2;
YourBtn1.layer.borderColor=[uicolor blackColor].CGColor;
YourBtn1.layer.borderWidth=1.0f;
Ответ 10
Для Swift:
button.layer.cornerRadius = 10.0
Ответ 11
обновлен для Swift 3:
используется ниже кода, чтобы сделать угол UIButton круглым:
yourButtonOutletName.layer.cornerRadius = 0.3 *
yourButtonOutletName.frame.size.height