我是 iPhone 应用程序开发的新手。我在导航栏中使用自定义的 uisegmentedcontrol。
此代码适用于 iPhone。
[self.navigationItem setHidesBackButton:YES animated:YES];
profileSegmentControl = [[UISegmentedControl alloc]initWithItems:[NSArray arrayWithObjects: @"seg1", @"seg2", @"seg3", @"seg4", nil]];
[profileSegmentControl addTarget:self action:@selector(seg1Button) forControlEvents:UIControlEventValueChanged];
**profileSegmentControl.frame = CGRectMake(40, 25, 310, 30);**
profileSegmentControl.segmentedControlStyle = UISegmentedControlStyleBar;
profileSegmentControl.momentary = YES;
//[profileSegmentControl sizeToFit];
UIBarButtonItem *profileSegmentBarItem = [[UIBarButtonItem alloc] initWithCustomView:profileSegmentControl];
self.navigationItem.rightBarButtonItem = profileSegmentBarItem;
现在,当我将方向从纵向更改为横向时,如何更改 CGRectMake 中 uisegmentedcontroll 按钮的坐标?在横向时,宽度应为 510 而不是 310。
无法使用 [segmentControlObject sizeToFit],因为我隐藏了导航栏的“后退”导航按钮。我试过这个,但是segmentedControl的宽度并没有覆盖整个导航栏。
我知道 (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 方法,但是您不能在 viewDidLoad 或任何方法下调用它。
使用 xcode 4.6