2016-07-16 2 views
0

스크롤 뷰를 가로 및 이미지 아래로 스크롤해야합니다. 가로로 스크롤하고 있지만 배경을 변경 한 후에도 내 이미지를 볼 수 없습니다. 아래의 코드를 찾아주세요 : -iOS의 스크롤 뷰 위에 UIimage가 표시되지 않습니다.

#import "ViewController.h" 

@interface ViewController() <UIScrollViewDelegate> 

@property (nonatomic , weak) IBOutlet UIScrollView *scrollView; 

@end 

@implementation ViewController 

    - (void)viewDidLoad { 
[super viewDidLoad]; 

for(int i=0; i<5; i++) { 
    UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake((self.view.window.frame.size.width/5)*i, 0, self.view.window.frame.size.width/5, 48)]; 
    imageView.image = [UIImage imageNamed:@"t3"]; 
    imageView.backgroundColor = [UIColor blackColor]; 
    [_scrollView addSubview:imageView]; 
} 

_scrollView.contentSize = CGSizeMake(self.view.window.frame.size.width, 48.0f); 
[self.view addSubview:_scrollView]; 

} 

- (void)didReceiveMemoryWarning { 
[super didReceiveMemoryWarning]; 
// Dispose of any resources that can be recreated. 
     } 

@end 

답변

2

루프에서 중단 점을 설정하고 imageviews의 프레임을 확인하고 이미지 "T3"실제로로드되고 있는지 확인합니다. 당신이 바꿀 수

다른 것, 당신은 단지 self.view.frame를 사용 self.view.window.frame를 사용할 필요가 없습니다

  1. .
  2. 뷰에 스크롤 뷰를 추가했지만 IBOutlet이므로 스토리 보드 또는 xib의 계층 구조에 이미있는 경우에는 필요하지 않습니다.

여전히 문제가 있으시면 행운을 빕니다.

+0

감사 alot..You에 self.view를 추가하려면 아래의 코드를 사용합니다. (이것이 문제입니다) – ankitjaiswal

+0

멋지다, 가능한 경우 내 대답을 받아 들일 수 있도록 도와 주시고, 문제가 있으면 알려주십시오. – JingJingTao

+0

나는 이미 당신을 투표했습니다 – ankitjaiswal

0

문제는 self.view.window입니다.

애플의 문서에서입니다

뷰가 아직 창에 추가되어 있지 않은 경우이 속성은 nil입니다

말한다. 당신이

NSLog(@"self.view.window: %@", self.view.window); 

를 사용하는 경우 로그가 될 것입니다, 그래서 당신은 아직 창 self.view을 추가하지 않은

self.view.window : (널)

즉, self.view.window.frame.size.width의 값은 0입니다.


(10)는 그래서 해결책은 간단하다

사용 self.view.frame.size.width 대신 self.view.window.frame.size.width.

또는은 self.view.frame를 사용 self.view.window.frame를 사용할 필요가 없습니다 창

[[[[UIApplication sharedApplication] windows] firstObject] addSubview:self.view]; 
+0

고맙습니다 친구 .. 좋은 설명 – ankitjaiswal

관련 문제