1

这是我在模拟器上看到的:
不错的导航栏

这是我在设备上看到的: 导航栏不好

这是代码:

- (void)buildNavBarTitle
{
    self.navigationItem.title = nil;
    UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 200, self.navigationController.navigationBar.frame.size.height)];
    UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithFrame:CGRectMake(0, 0, 160, view.frame.size.height - 10)];
    segmentedControl.tintColor = [UIColor blackColor];
    [segmentedControl insertSegmentWithTitle:@"New" atIndex:0 animated:NO];
    [segmentedControl insertSegmentWithTitle:@"Today" atIndex:1 animated:NO];

    [view addSubview:segmentedControl];
    self.navigationItem.titleView = view;
}

我有

  • 模拟器和设备上删除的应用程序
  • 重新启动 xCode
  • cmd+shift+k 清理
  • cmd+shift+alt+k 擦除构建文件夹
4

2 回答 2

1

当我使用 UIAppearance 为该类型的所有控件设置样式时,我遇到了类似的问题。这与我试图从文本中删除阴影有关,它导致文本不出现。允许阴影后,你并没有注意到它真的在那里,文字又出现了。

我已经向苹果提交了一个关于这个的错误。

于 2013-08-29T19:18:17.453 回答
0

尝试这个:

NSArray *itemArray = [NSArray arrayWithObjects: @"New", @"Today", nil];
UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:itemArray]
segmentedControl.frame = CGRectMake(35, 200, 250, 50);
segmentedControl.segmentedControlStyle = UISegmentedControlStylePlain;
segmentedControl.selectedSegmentIndex = 0;
[view addSubview:segmentedControl];
于 2013-08-25T18:58:08.387 回答