サブビューとしてUIScrollViewを含むcustomView(UIView)を作成しましたが、scrollViewに配置した オブジェクトは表示されませんでした。これをテストするために、scrollViewにUIViewを追加しましたが、どちらも表示されませんでした(下のコード例を参照)。 scrollViewに入れたいコンテンツは動的なので、私はAutoLayoutを使用するだけで問題にアプローチしたいと思います。私はさまざまな方法を試して、オンラインで指示に従いました、それのどれもうまくいきませんでした。すべての同様の質問はUIViewControllerの内部で作成されたUIScrollViewでした。ここでUIViewのサブビューとしてのUIScrollViewが自動レイアウトで機能しない
は、私は、石積みを使用しています、私のコードです:ここでは
@interface CustomView : UIView
@end
@implementation CustomView
- (instancetype)init {
if (self = [super init]) {
self.scrollView = [[UIScrollView alloc]init];
self.scrollView.backgroundColor = [UIColor redColor];
[self addSubview:self.scrollView];
[self.scrollView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self);
}];
//Here I add someView to the scrollView, and when I create an instance of the scrollView, the someView does not show.
self.someView = [[UIView alloc]init];
self.someView.backgroundColor = [UIColor blackColor];
[self.scrollView addSubview:self.someView];
[self.someView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self.scrollView);
make.size.equalTo(CGSizeMake(40, 40));
}];
}
return self;
}
は私がのCustomView
CustomView *customView = [[CustomView alloc]init];
[self.view addSubview: customView];
[customView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(64.0);
make.height.equalTo(40.0);
make.leading.trailing.equalTo(0);
}];
のインスタンスを作成する方法です私はsomeViewの原因となっている逃したか、間違っていた何かがあります見せない?
ありがとうございました。
スクロールビューが期待通りに表示されていますか?そうでなければ、scrollviewとsomeviewの制約を設定するときに適切なフレームが得られるかどうかをチェックしてください。また、コンソールに自動レイアウトエラーが表示されていますか? – HardikDG
ブレークポイントを設定してスクロールビューを確認するための@pyroありがとうございました。疲れていて、ビューが正しく作成されました。協力者がUIViewの冗長レイヤーを削除し、AutoLayoutを適切に使用してこのバグを解決する手助けをしました。 – CeliaLi