UISwitch不会出现在自定义UIView中

时间:2012-02-04 08:05:04

标签: ios cocoa-touch uiswitch

我制作了一个自定义的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的其他问题,但所有这些问题似乎都不是我的情况。提前谢谢。

1 个答案:

答案 0 :(得分:1)

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

或者如果这真的在UIView类中,则将整个方法移动到视图控制器。

或者将代码放在UIView的{​​{1}}。

在任何情况下,如果开关已经存在,您应该检查。否则可能会泄漏。

如果放在视图控制器 layoutSubviews中,也可能是更好的地方。

- (void)viewDidLoad