1

分段控件无法在垂直方向重新定位位置。它显示在图像中。任何人都可以帮我定位分段控件。

  int offset = BAR_OFFSET + 40 * bars.count;
  for (int i = bars.count; i < guessRows; i++)
  {
   UISegmentedControl *bar = [[UISegmentedControl alloc] initWithItems:
     [NSArray arrayWithObjects:@"", @"", @"", nil]];
   bar.segmentedControlStyle = UISegmentedControlStyleBar;
   bar.transform = CGAffineTransformMakeRotation(M_PI_2);
   bar.momentary = YES;
   [bar addTarget:self action:@selector(submitGuess:)
     forControlEvents:UIControlEventValueChanged];
   CGRect frame = bar.frame;
   frame.origin.y = offset; // position it below the last bar
   frame.origin.x = 20; // give it some padding on the left
   [self.view addSubview:bar]; // add the bar to the main view
   [bars addObject:bar];
   [bar release]; 

 } 

在此处输入图像描述

4

2 回答 2

2

您可以编程创建段控制并设置框架以保持段控制位置并将段控制添加到视图控制器,如下所示:-

 UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:itemArray];
 segmentedControl.frame = CGRectMake(35, 200, 250, 50);
 segmentedControl.segmentedControlStyle = UISegmentedControlStylePlain;
 segmentedControl.selectedSegmentIndex = 1;

 [self.view addSubview:segmentedControl];
于 2012-10-09T09:01:59.093 回答
1

问题来自你的offsetvar. 在线:

frame.origin.y = offset; // position it below the last bar

更改它的值(增加它以降低视图的位置)并尝试找到正确显示控件的正确值。

于 2012-10-09T08:52:05.293 回答