UisegringedControl仅在设备上显示第一项,但在模拟器中起作用
-
26-10-2019 - |
题
我已经搜索了一个发现如何将UisegrightedControl项目添加到导航条按钮项目(右栏按钮)。它在模拟器中正常工作,但是当我在设备上尝试时,仅显示分段控件中的第一项。它占据了整个长度(即整个过程中只有一个细分市场)。
- (void) setupSegmentedControl {
//set up the segmented control and add it to the nav bar rightBartButtonItem
UISegmentedControl * segmentControl = [[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObjects:[UIImage imageNamed:@"Settings.png"],[UIImage imageNamed:@"Map-Icon.png"],[UIImage imageNamed:@"Search.png"], nil]];
UIBarButtonItem * segmentControlButton = [[UIBarButtonItem alloc] initWithCustomView:segmentControl];
[segmentControl setBackgroundColor:[UIColor clearColor]];
segmentControl.segmentedControlStyle = UISegmentedControlStyleBar;
segmentControl.frame = CGRectMake(0, 0, 75, 30);
[segmentControl setMomentary:YES];
[segmentControl addTarget:self
action:@selector(segmentedControlAction:)
forControlEvents:UIControlEventValueChanged];
self.navigationItem.rightBarButtonItem = segmentControlButton;
[segmentControl release];
}
有什么想法怎么了?
解决方案
确保图像文件名与项目中的资源名称完全匹配,包括大写/小写字母。
该设备对大小写,如果名称不匹配, imageNamed:
将返回 nil
终止数组。
不隶属于 StackOverflow