UIview'i otomatik hale getirmek için yuvarlatılmış köşeler (topLeft ve topRight) yapmak mümkün mü?Otomatik boyutlandırma için yuvarlak köşeler UIView
: görünüm olarak IB tanımlanır SFDetailViewController.m#import "SFDetailViewController.h"
#import <QuartzCore/QuartzCore.h>
@interface SFDetailViewController()
@end
@implementation SFDetailViewController
@syntesyze header;
-(void) viewDidLoad
{
....
[self setCornerRadiusToHeader:header];
}
-(void) setCornerRadiusToHeader:(UIView *)headerView
{
CGRect bounds = headerView.layer.bounds;
UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:bounds
byRoundingCorners:(UIRectCornerTopLeft | UIRectCornerTopRight)
cornerRadii:CGSizeMake(8.0, 8.0)];
CAShapeLayer *maskLayer = [CAShapeLayer layer];
maskLayer.frame = bounds;
maskLayer.path = maskPath.CGPath;
[headerView.layer addSublayer:maskLayer];
headerView.layer.mask = maskLayer;
}
SFDetailViewController.h
@interface SFDetailViewController : UIViewController <UITableViewDataSource, UITableViewDelegate, UITextFieldDelegate, PopoverViewListDelegate>
{
...
UIView *header;
}
@property (nonatomic, retain) IBOutlet UIView *header;
@end
: İşte benim kodudur
Elde ettiğim şey - topRight köşesi düz, çünkü görünümün boyutu dinamik.