如果使用release config

时间:2015-08-30 03:04:45

标签: ios ipad uisegmentedcontrol

我在表格的第1部分的标题视图中添加了UISegmentedControl,它在模拟器或iPad上以调试模式正常工作。但是,如果我为无线分发生成存档(使用发布配置)并将其安装在iPad上,那么当我尝试使用分段控制时,它会冻结(它不会切换到与UISegmentedControl关联的所选段和方法得到执行)然后应用程序崩溃。

所以,它必须是调试和发布配置之间的区别,所以我调查了它,发现如果在PROJECT \ TARGETS \ Apple LLVM6.1中配置\优化级别\我改变了我的发行版的值(最快,最小) )对于我的调试(无),然后UISegmentedControl开始正常工作!

是否有人在干预优化级别时看到了这个或有其他建议。

iPad iOS8.1,XCode 6.4

这是我的代码,虽然看起来问题不存在:

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
    if (section == 0) {
    UIView *header = [[[UIView alloc] init] autorelease];
    header.backgroundColor = [UIColor clearColor];

    UILabel *headerLabel = [[UILabel alloc] initWithFrame:CGRectMake(18.0, 51.0, 100.0, 37.0)];
    headerLabel.backgroundColor = [UIColor clearColor];
    headerLabel.textColor = [UIColor grayColor];
    headerLabel.font = [UIFont systemFontOfSize:14];
    headerLabel.text = @"IMAGE";
    [header addSubview:headerLabel];
    [headerLabel release];

    UISegmentedControl *actionSwitcher0 = [[UISegmentedControl alloc] initWithItems:@[@"Event", @"Question"]];
    [actionSwitcher0 setFrame:CGRectMake(20.0, 20.0, 140, 28)];
    [actionSwitcher0 addTarget:self action:@selector(changeActionType:) forControlEvents:UIControlEventValueChanged];
    actionSwitcher0.tag=1235;
    [header addSubview:actionSwitcher0];
    [actionSwitcher0 release];

    return header;
    }
return nil;
}

0 个答案:

没有答案