XIBUIViewController
からのいくつかのサブビュー (ViewController のビュー) を使用して、それらは を使用する間で選択されUISegmentedControl
ます。これらのビューの 1 つにUIScrollView
. 問題は、このサブビューが初めて追加されたときUIScrollView
にスクロールできないことです。別のセグメント/ビューを選択してから、もう一度あるセグメント/ビューを選択すると、スクロール可能になりました。UIScrollView
はUIScrollView
IB のみに追加されます。これは MainViewController.m のビューと UISegmentedControl のコードの一部です。
- (void)viewDidLoad
{
[super viewDidLoad];
nameSubViewController = [[NameSubViewController alloc] initWithNibName:@"NameSubViewController" bundle:nil];
nameSubView = (NameSubView *)[nameSubViewController view];
priceSubViewController = [[PriceSubViewController alloc] initWithNibName:@"PriceSubViewController" bundle:nil];
priceSubView = (PriceSubView *)[priceSubViewController view];
[self.view addSubview:nameSubView];
currentView = nameSubView;
}
- (void) segmentAction:(id)sender
{
segmentedControl = sender;
if([segmentedControl selectedSegmentIndex] == 0) {
[currentView removeFromSuperview];
[self.view addSubview:nameSubView];
currentView = nil;
currentView = nameSubView;
}
if([segmentedControl selectedSegmentIndex] == 1) {
[currentView removeFromSuperview];
[self.view addSubview:priceSubView];
currentView = nil;
currentView = priceSubView;
}
このコードでは、セグメント 1 ( priceSubView
) に UIScrollView が含まれているとします。このセグメントを選択すると、セグメント 0 ( ) を再度選択してセグメント 1 を再度UIScrollView
選択しない限り、 はスクロールに反応しません。nameSubView
これは何が原因で、どのように修正するのですか?