私は数ヶ月間iOSで作業していましたが、かなり簡単なようなもののために何時間も何時間も壁に頭を向けています。 iPadアプリのXcodeでマスターディテールテンプレートを使用しました。私は、ディテール部分をスクロール可能にして、どちらの方向でもフレーム内に表示されている内容の下にコンテンツを表示したい。私は、viewWillAppear、viewDidLoad、loadViewのDetailViewControllerでscrollviewsを追加する多数の組み合わせを試してきました...そして最高のものは、スクロールバーを表示して私に示すように最上位レイヤーのスクロール可能なビューのようですscrollView.contentSizeを正しくパンしていましたが、実際のビューは移動しません。フィールドは編集できません。ここに私のviewDidAppearは現状のままです。あなたはNSLogsで見ることができるように、私はビューのスタックを理解しようとしています。ログの前に行のコメントを外すと、スクロールバーが完全に失われます。マスターディテールアプリでスクロール可能なディテールビューを作成する方法
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 768, 1024)];
scrollView.contentSize = CGSizeMake(2048, 2048);
UIView *parentView = [[UIView alloc] init];
parentView = [[self view] superview];
[[parentView superview] addSubview:scrollView];
//[scrollView addSubview:[self view]];
NSLog(@"%@", [parentView superview]);
NSLog(@"%@", parentView);
NSLog(@"%@", [super view]);
NSLog(@"%@", [self view]);
[scrollView setDelegate:self];
}
このシナリオでは、UIScrollViewを正しく実装する方法に関するヒントやヒントをお読みいただき、誠にありがとうございます。
簡単
Self.view:
あなたの階層は次のようになります。私はIBを使う代わりにそれをプログラムしようとすることでそれを難しくしていたと思う。 1つの "副作用"私は今、私のビューは実際にUIControlだったので、私はUITextFieldの外に触れたときにそれはキーボードを却下するだろうということです。私とUIScrollViewを共存させることはできないようですね。 –
'UIScrollView'をサブクラス化し、' touchesEnded'をオーバーライドしてビュー内のタッチを検出できます。 – edc1591