Как закруглить углы кнопки
У меня есть прямоугольное изображение (jpg) и я хочу использовать его для заполнения фона кнопки с закругленным углом в xcode.
Я написал следующее:
UIButton *button = [[UIButton buttonWithType:UIButtonTypeRoundedRect] retain];
CGRect frame = CGRectMake(x, y, cardWidth, cardHeight);
button.frame = frame;
[button setBackgroundImage:backImage forState:UIControlStateNormal];
однако кнопка, которую я получаю с таким подходом, не имеет закругленных углов: вместо этого это простой прямоугольник, который выглядит точно так же, как мое исходное изображение. Как я могу получить вместо этого изображение с закругленным углом, чтобы представить мою кнопку?
спасибо!
11 ответов:
Я думаю, что у меня есть ваша проблема, я попробовал следующее решение с UITextArea, и я полагаю, что это будет работать и с UIButton.
импортировать это в вашу .файл м -
#import <QuartzCore/QuartzCore.h>
и затем в
loadView
способ добавить следующие строкиyourButton.layer.cornerRadius = 10; // this value vary as per your desire yourButton.clipsToBounds = YES;
надеюсь, что это работает для вас, и если да, общаемся.
Вы можете достичь с помощью этой среды выполнения атрибутов
мы можем сделать нестандартную кнопку.просто смотрите скриншот прилагается.
пожалуйста, обратите внимание :
в атрибутах времени выполнения для изменения цвета границы следуйте этой инструкции
создать класс категории CALayer
в файле h
@property(nonatomic, assign) UIColor* borderIBColor;
в М файл:
-(void)setBorderIBColor:(UIColor*)color { self.borderColor = color.CGColor; } -(UIColor*)borderIBColor { return [UIColor colorWithCGColor:self.borderColor]; }
теперь вперед, чтобы установить цвет границы проверить скриншот
спасибо
вы можете проверить мою библиотеку под названием DCKit. Это написано на последней версии Свифт.
вы сможете сделать закругленную угловую кнопку/текстовое поле непосредственно из конструктора интерфейса:
Он также имеет много других интересных функций, таких как текстовые поля с проверкой, элементы управления с границами, пунктирными границами, кругом и линиями волос и т. д.
импорт QuartCore framework если его нет в вашем существующем проекте, то импортируйте
#import <QuartzCore/QuartzCore.h>
in viewcontroller.м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;
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
Если вы хотите закругленный угол только один угол или два угла и т. д... читайте этот пост:
[ObjC] - UIButton с закругленным углом -http://goo.gl/kfzvKP
Это XIB/раскадровка подкласс. Импорт и установка границ без написания кода.
обновлено для Swift 3:
используется ниже кода, чтобы сделать UIButton угловой раунд:
yourButtonOutletName.layer.cornerRadius = 0.3 * yourButtonOutletName.frame.size.height
альтернативный ответ, который устанавливает границу тоже (что делает его более похожим на кнопку) здесь ... Как установить границу прямоугольника для пользовательского типа UIButton