繁体   English   中英

UISwitch将不会显示在自定义UIView中

[英]UISwitch won't show up in custom UIView

我制作了一个自定义UIView类,并尝试以编程方式在其中设置UISwitch控制器。 UISwitch将不会显示。 邪恶在哪里?

UIView类:

- (void)viewWillAppear:(BOOL)animated
{
    uiSwitch=[[[UISwitch alloc]initWithFrame:CGRectMake(5.00,200.00,79,27)] autorelease];
    [uiSwitch addTarget:self action:@selector(uiSwitchCurrentStatus) forControlEvents:UIControlEventValueChanged];
    [self addSubview:uiSwitch];
}

我检查了有关UIswitch的另一个问题,但似乎所有这些都不是我的情况。 先感谢您。

(如果在UIViewCotroller中)尝试[self.view addSubview:uiSwitch];

或者,如果这确实在UIView类中,则将整个方法移至视图控制器。

或者将代码放入UIViewlayoutSubviews

并且在任何情况下都应检查该开关是否已存在。 否则可能会泄漏。

另外, 如果放置在视图控制器中 - (void)viewDidLoad可能是更好的地方。

-(void)layoutSubviews{
    if (!uiSwitch){
        uiSwitch=[[[UISwitch alloc]initWithFrame:CGRectMake(5.00,200.00,79,27)] autorelease];
        [uiSwitch addTarget:self action:@selector(uiSwitchCurrentStatus) forControlEvents:UIControlEventValueChanged];
        [self addSubview:uiSwitch];
    }

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM