2015-08-21 5 views
1

У меня есть обычай UIView и XIB под названием DialPad и я пытаюсь использовать этот объект в моей раскадровке, но обычай 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 enter image description here

и мой взгляд контроллеры выглядеть следующим образом

#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 

и моя раскадровка enter image description here

но граница вокруг точки зрения выглядят странно

enter image description here

#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 

enter image description here

ответ

2

Для загрузки вида из XIb файла, вам должен сделать это:

d = [[[NSBundle mainBundle] loadNibNamed:@"DialPad" owner:nil options:nil] 
       firstObject]; 
[self.dial addSubview:d]; 

Border: попробуйте добавить пограничный код в - (void)awakeFromNib

+0

до сих пор не видим какой-либо из кнопок, только четкий UIView – blitzeus

+0

Снимите набор рамку, и не забудьте addsubview. Можете ли вы попробовать отредактированный ответ? – anhtu

+0

И проверьте также подключение к розетке. – anhtu

Смежные вопросы