将自定义 UIView 和 xib 添加到故事板中
add custom UIView and xib into storyboard
我有一个名为 DialPad
的自定义 UIView
和 xib,我正在尝试在我的情节提要中使用此对象,但自定义 DialPad 未添加为带有按钮的子视图
我的自定义拨号盘:UIView
@implementation DialPad
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self)
{
self.backgroundColor = [UIColor clearColor];
}
return self;
}
我的自定义 xib 名为 DialPad
我的视图控制器看起来像这样
#import <UIKit/UIKit.h>
#import "DialPad.h"
@interface ViewController : UIViewController
@property (weak, nonatomic) IBOutlet UIView *dial;
@end
#import "ViewController.h"
@interface ViewController ()
{
DialPad *d;
}
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
d = [[DialPad alloc] initWithFrame:self.dial.frame];
[self.dial addSubview:d];
}
@end
和我的故事板
但是视图周围的边框看起来很奇怪
#import "DialPad.h"
#import <QuartzCore/QuartzCore.h>
@implementation DialPad
- (void)drawRect:(CGRect)rect
{
// Drawing code
self.layer.borderColor = [UIColor redColor].CGColor;
self.layer.borderWidth = 1;
}
@end
要从 xib 文件加载视图,您应该这样做:
d = [[[NSBundle mainBundle] loadNibNamed:@"DialPad" owner:nil options:nil]
firstObject];
[self.dial addSubview:d];
边框:尝试在- (void)awakeFromNib
中添加边框代码
我有一个名为 DialPad
的自定义 UIView
和 xib,我正在尝试在我的情节提要中使用此对象,但自定义 DialPad 未添加为带有按钮的子视图
我的自定义拨号盘:UIView
@implementation DialPad
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self)
{
self.backgroundColor = [UIColor clearColor];
}
return self;
}
我的自定义 xib 名为 DialPad
我的视图控制器看起来像这样
#import <UIKit/UIKit.h>
#import "DialPad.h"
@interface ViewController : UIViewController
@property (weak, nonatomic) IBOutlet UIView *dial;
@end
#import "ViewController.h"
@interface ViewController ()
{
DialPad *d;
}
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
d = [[DialPad alloc] initWithFrame:self.dial.frame];
[self.dial addSubview:d];
}
@end
和我的故事板
但是视图周围的边框看起来很奇怪
#import "DialPad.h"
#import <QuartzCore/QuartzCore.h>
@implementation DialPad
- (void)drawRect:(CGRect)rect
{
// Drawing code
self.layer.borderColor = [UIColor redColor].CGColor;
self.layer.borderWidth = 1;
}
@end
要从 xib 文件加载视图,您应该这样做:
d = [[[NSBundle mainBundle] loadNibNamed:@"DialPad" owner:nil options:nil]
firstObject];
[self.dial addSubview:d];
边框:尝试在- (void)awakeFromNib