2016-03-24 26 views
0

Kendi alt görünümü olarak UIScrollView içeren bir customView (UIView) oluşturdum ve scroll'u göstermediğim nesneler göstermedim. Test etmek için scrollView'a bir UIView ekledim ve ne göstermedim (aşağıdaki kod örneğine bakınız). ScrollView üzerinde koymak istediğim içerik dinamik olduğundan, sadece AutoLayout kullanarak problemle yaklaşmak istiyorum. Farklı yolları denedim ve çevrimiçi talimatları takip ettim, hiçbiri işe yaramadı, benzer sorular UIViewController'ın içinde oluşturulan UIScrollView idi. Ben CustomViewUIView'in alt görünümü olarak UIScrollView autolayout ile çalışmaz

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); 
}]; 

bir örneğini Kaçırdığım veya someView neden olduğu yanlış yaptığını şey var mı yaratmak nasıl

İşte
@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; 
} 

: İşte

, ben masonluğun kullanıyorum benim kodudur göstermemek?

Yardımlarınız için teşekkür ederiz.

+0

Kaydırma görünümünüz beklendiği gibi görünüyor mu? Eğer scrollview ve someview için bir kısıtlama belirlediğinizde uygun kareyi aldığınızdan emin olun, ayrıca konsolda gösterilen herhangi bir otomatik hata hatası var mı? – HardikDG

+0

Bir nokta koyma ve kaydırma görünümümü kontrol etmemi hatırlattığınız için teşekkür ederim @pyro, yoruldum ve görünüm düzgün bir şekilde oluşturuldu. Bir iş arkadaşı, bu hatayı UIView'nin gereksiz katmanını kaldırarak ve AutoLayout'ı düzgün bir şekilde kullanarak çözmem için bana yardımcı oldu. – CeliaLi

cevap

0

Sorunu şu yolu çözerek çözdüm: 1) .Sonraki bir UView uygulamasında (özel görünümüm) bir alt görünüm yerine scrollView özelliğini kullanma. 2) scrollView'ın sağ ve alt kısıtlarını eklediğinizden emin olun.