Ios 将自定义视图作为子视图添加到uiscrollview后将消失
我有一个从UIView继承的自定义视图BNRHyponsisView。当我添加到滚动视图时,它就消失了,显示了背景色 但是添加到其中的UITextField显示得很好,滚动也很好! 引用使用了强引用,我还是搜索了一下,找不到答案Ios 将自定义视图作为子视图添加到uiscrollview后将消失,ios,objective-c,uikit,Ios,Objective C,Uikit,我有一个从UIView继承的自定义视图BNRHyponsisView。当我添加到滚动视图时,它就消失了,显示了背景色 但是添加到其中的UITextField显示得很好,滚动也很好! 引用使用了强引用,我还是搜索了一下,找不到答案 - (void)loadView { self.bhv = [[BNRHyponsisView alloc] init]; CGRect frame = CGRectMake(40, 70, 240, 30); UITextField *tf
- (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;
}
你错过了定格,伙计
self.bhv = [[BNRHyponsisView alloc] init]initWithFrame:CGRectMake(0, 0, 200, 300);
self.bhv.backgroundColor = [UIColor orangeColor];
但为什么会显示UITextField
BNRHyponsisView帧将为0,0,0,0CGRectZero。但它仍然存在,但肉眼看不到。非常小,因为0。但是默认情况下,如果以编程方式创建子视图,则任何UIView都不会剪切子视图。这就是它显示UITextField的原因。尝试同时设置帧和背景色
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];
希望这能帮助您调试您的问题。self.bhv的框架是什么?它的背景色是什么?窗框,默认的。如果我将它设置为没有滚动的视图,它会工作得很好,问题是当我将它添加到子视图时,它就消失了。好的。您是否尝试过此[self.view addSubview:usv];?它调用loadView方法的次数太多,直到它崩溃,我尝试了self.view=self.hbv;然后你的线它调用一次,但也崩溃。使全局对象的UIScrollView和检查否,仍然是相同的问题,背景仍然是白色。更改颜色self.bhv.backgroundColor=[UIColor orangeColor];在VIEWDIDAPPARTHE上,背景为蓝色,但仍然没有BNRHyponsisView:/。您从UIView继承BNRHyponsisView类有什么具体原因吗?尝试直接用UIView替换它。