2014-08-27 117 views
0

我有一个从UIView继承的自定义视图“BNRHyponsisView”。当我添加滚动视图时,它会消失,向我显示背景颜色。自定义视图在作为子视图添加到uiscrollview后消失

但添加到它的UITextField显示就好,滚动工作正常! 参考文献使用强烈,我反正搜索,找不到答案!

- (void)loadView { 
    self.bhv = [[BNRHyponsisView alloc] init]; 

    CGRect frame = CGRectMake(40, 70, 240, 30); 
    UITextField *tf = [[UITextField alloc] initWithFrame:frame]; 
    tf.borderStyle = UITextBorderStyleRoundedRect; 
    tf.placeholder = @"Hypnotize me!"; 
    tf.returnKeyType = UIReturnKeyDone; 
    tf.autocapitalizationType = UITextAutocorrectionTypeDefault; 
    tf.autocorrectionType = YES; 
    tf.enablesReturnKeyAutomatically = YES; 
    tf.delegate = self; 
    [self.bhv addSubview:tf]; 


    UIScrollView *usv = [[UIScrollView alloc] init]; 
    usv.delegate = self; 
    usv.pagingEnabled = NO; 
    usv.minimumZoomScale = 1.0; 
    usv.maximumZoomScale = 2.0; 
    usv.contentSize = self.bhv.bounds.size; 
    [usv addSubview:self.bhv]; 

    self.view = usv; 
} 
+0

self.bhv的框架是什么?它的背景颜色是什么? – Mohit 2014-08-27 11:24:40

+0

窗框,默认一个。 它完美的作品如果我把它设置为视图*而不滚动*,问题是当我将它添加到子视图时它就会消失。 – 2014-08-27 11:27:48

+0

好的。你尝试过这种[self.view addSubview:usv];? – Mohit 2014-08-27 11:32:34

回答

0

你错过了设置帧花花公子。

self.bhv = [[BNRHyponsisView alloc] init]initWithFrame:CGRectMake(0, 0, 200, 300); 

self.bhv.backgroundColor = [UIColor orangeColor]; 

但为什么显示UITextField?

BNRHyponsisView框架将为0,0,0,0(CGRectZero)。但它仍然存在,但对您的眼睛不可见。非常小(因为0)。但默认情况下,如果您以编程方式创建它们,则任何UIView都不会剪辑(clipsToBounds)子视图。这就是它显示UITextField的原因。

+0

不,同样的问题和背景仍然是白色的。 – 2014-08-27 11:54:45

+0

改变颜色self.bhv.backgroundColor = [UIColor orangeColor];在viewdidarar – 2014-08-27 12:00:26

+0

仍然没有。 – 2014-08-27 12:06:52

0

尝试设置框架和背景色两种

1. self.bhv i.e UIView 

    self.bhv = [[BNRHyponsisView alloc] init]initWithFrame:CGRectMake(0, 0, 300, 350); 
    self.bhv.backgroundColor = [UIColor redcolor]; 

    2. usv i.e UIScrollView 
    usv = [[UIScrollView alloc] init]initWithFrame:CGRectMake(0, 0, 400, 400); 
    usv.backgroundColor = [UIColor bluecolor]; 

希望这可以帮助您调试问题。

+0

背景是蓝色的,但仍然没有BNRHyponsisView:/。 – 2014-08-27 12:46:19

+0

是否有任何特定的原因,您从UIView继承了BNRHyponsisView类?尝试直接用UIView替换它。 – Utkarsha 2014-08-27 12:55:12

+0

自定义drAwings – 2014-08-27 12:56:57

相关问题