2011-03-22 12 views
12

Çok garip bir davranış, ekranın ortasında bu kodu kullanan bir yuvarlak nokta ve bir uçta bir şey bulunmayan bir UIScrollview var. UIScrollview'in boş olması beklenir. Ekranı kaydırdığımda nokta bulanıklaşıyor ve kayboluyor.UIScrollView'da Garip UIImageView

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    NSArray *subviews = [closetScroll subviews]; 
    UIImageView *strange=[subviews objectAtIndex:0]; 
    strange.center = CGPointMake([[UIScreen mainScreen] bounds].size.width/2, [[UIScreen mainScreen] bounds].size.height/2); 
    strange.alpha=1; 

    NSLog(@"%@",subviews); 
} 

konsol çıktısı:

<UIImageView: 0x4b1f780; frame = (380.5 508.5; 7 7); opaque = NO; autoresize = LM; userInteractionEnabled = NO; layer = <CALayer: 0x4b1f820> 

kimse neden biliyor mu?

cevap

33

UIImageView büyütme ve yapılandırmalarla ayarlamadan sonra, UIImageView öğesinin aslında kaydırma çubuğu olduğu ve yatay ve dikey kaydırma etkinleştirilmişse, bir "boş" UIScrollview öğesinin içinde iki alt görünüme sahip olduğu sonucuna vardım.

+3

Teşekkür ederim, bu 2 görüntü alt görünümü beni de başımı kaşımdı! :) – chown

+0

Teşekkürler! Bu, ScollView'in içerik boyutunun, alt görünümlerine göre ayarlanması sırasında dikkate alınmalıdır. (http://stackoverflow.com/questions/2944294/how-i-auto-size-a-uiscrollview-to-fit-the-content) – AmitP

0

Aynı sorunu yaşadım. Bu "özellik" nedeniyle, alt görüntülerin sayısının hesaplanması çok aldatıcı olabilir.

Uygulamayı başlatın ve alt görüntüleme sayısını sayın, bu 1 olacaktır. Simdi farenizi simülatörde veya aygıttaki parmağınızla kullanın ve sağdan sola doğru kaydırın. Alt görüntülerin sayısını sayın. Sayı 2 olacaktır.

UIScrollView'un sınırlarının ötesinde "zıplayan" arka plandaki doğru rengi oluşturmak için bu ekstra UIImageView öğesinin Cocoa Touch tarafından üretildiğinden başka bir şey çıkartamıyorum.