UIToolbar со скругленными углами

Я хочу отобразить a UIToolbar со скругленными углами на вершине, каков был бы самый легкий путь? панель инструментов не выравнивается вершиной на окне; это имеет поле все вокруг.Спасибо!

8
задан rjobidon 6 July 2010 в 03:28
поделиться

2 ответа

Очень просто.

Прежде всего - имейте переменную IBOutlet для UIToolbar в вашем .h файле вашего контроллера представления. Например.

@interface TextFormattedViewController : UIViewController {
     IBOutlet UIToolbar *tBar;
}

Теперь в вашем .m файле вашего файла контроллера представления просто поместите следующий код, и он будет работать для вас как волшебство. Тем не менее, пожалуйста, добавьте комментарий, если есть какие-либо вопросы.

#import "TextFormattedViewController.h"
#import <QuartzCore/QuartzCore.h>
@implementation TextFormattedViewController
- (void)viewDidLoad {
    // following statement is must.
    tBar.clipsToBounds=YES;
    CALayer *l=tBar.layer;
    // set corner radious
    [l setCornerRadius:10];
    // to apply border on corners
    [l setBorderColor:[[UIColor redColor] CGColor]];
    // to apply set border width.
    [l setBorderWidth:5.0];
}
16
ответ дан 5 December 2019 в 08:50
поделиться

Самый простой способ округлить углы вида - использовать свойство cornerRadius masksToBounds ) в CALayer . Однако при этом у вас есть только возможность одинаково закруглить все углы.Чтобы использовать это свойство, вы можете поместить UIToolbar в другое представление, которое было выше панели инструментов, поэтому закруглялась только верхняя часть. Это будет хорошо работать, если у другого вида будут закругленные нижние углы.

Самый простой способ замаскировать вид произвольной формы - установить свойство mask для CALayer на новый CAShapeLayer . В вашем случае создайте CGPath для CAShapeLayer , используя CGPathAddLineToPoint и CGPathAddArcToPoint или аналогичный, чтобы скруглить только верхние углы.

3
ответ дан 5 December 2019 в 08:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: