2012-10-26 3 views
0

나는이 사이트의 많은 게시물뿐만 아니라 Google에서 더 많은 게시물을 보았으며 확실한 것에 분명히 붙어 있습니다. 나는 IOS에 익숙하지 않으며 다른 게시물을 잘못 읽었을 가능성이 큽니다. 나는 내 자신의 논리와 시도로 내 자신의 코드를 배우고 쓰려고 노력하고있어, 그래서 내 것이 발견 한 다른 것들과는 다른 좋은 거래로 보인다 ... 나는 그것이 확실하지 않은 이유 다.UIScrollView에 그림 추가 - 배열을 사용한 슬라이드 스위치 효과

스 와이프를 사용하여 오른쪽에서 왼쪽으로 사진을 표시하려하지만 다음 사진을 당겨서 제자리에 밀어 넣으려면 인스턴트 스위치 대신 here을 입력하십시오. 많은 권장 사항에 따라 UIScrollView를 사용하려고합니다. 로드 할 항목을 얻을 수 없으며 loadImages의 마지막 줄에서 앱이 다운됩니다. 디버깅을했지만 subView가 표시되지 않는 이유를 파악할 수 없습니다. 여기

[super viewDidLoad]; 
// Do any additional setup after loading the view. 
i = 0; 
//add UIPanGestureRecognizer 
UIPanGestureRecognizer *aPan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(loadImages)]; 
[aPan setMaximumNumberOfTouches:1]; 
[aPan setMinimumNumberOfTouches:1]; 
[self.view addGestureRecognizer:aPan]; 


_PhotoBundle = [[NSBundle mainBundle] pathsForResourcesOfType:@".jpg"inDirectory:@"Otter_Images"]; 

_PhotoArray = [[NSMutableArray alloc] initWithCapacity:_PhotoBundle.count]; 
for (NSString* path in _PhotoBundle) 
{ 
    [_PhotoArray addObject:[UIImage imageWithContentsOfFile:path]]; 
} 

[self loadImages]; 

내 loadImages입니다 : 여기

내있는 viewDidLoad입니다

-(void)loadImages 

{ NSLog (@ "loadImages에서"); 나는 하나의 이미지를로드받을 수있을 때까지

_currentImage = [_PhotoArray objectAtIndex:i]; 
_nextImage = [_PhotoArray objectAtIndex:i + 1]; 
_prevImage = [_PhotoArray objectAtIndex:i -1]; 
UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 200, 200)]; 
[scrollView setScrollEnabled:YES]; 
[scrollView setClipsToBounds:YES]; 

if (i <= _PhotoArray.count) 
{ 
    [scrollView addSubview:_currentImage]; ////crash!!!! 
} 
else 
{ 
    _currentImage = [_PhotoArray objectAtIndex:0]; 
    [scrollView addSubview:_currentImage]; /// Crash!!!! 
} 

NSLog(@"end of loadImages"); 

}

나는 기능을 중단했다. 그런 다음 슬라이드의 기능을 추가 할 것입니다 .... 나는이 권리에 접근하기를 바랍니다.

도움을 주셔서 감사합니다.

편집 : 당신은 파단으로 UIImage 객체를 추가

@interface ScrollViewViewController() 

@property (nonatomic, retain) NSArray *PhotoBundle; 
@property (nonatomic, retain) NSMutableArray *PhotoArray; 
@property (nonatomic, retain) UIImageView *currentImage; 
@property (nonatomic, retain) UIImageView *nextImage; 
@property (nonatomic, retain) UIImageView *prevImage; 

@end 
+0

질문에 크래시가 포함 된 경우 크래시 로그를 포함 시키십시오. 큰 도움이됩니다. – jrturton

+0

[scrollView addSubview : _currentImage]; ////추락!!!! - scrollview에 이미지 뷰를 추가하고 imageview.image = _currentImage를 설정해야하기 때문에 충돌이 발생합니다. 이렇게 직접 추가 할 수 없습니다. – iDev

+0

고마워, 네가 무슨 뜻인지 알 수가 없어? 스크롤 뷰를 이미지로 설정 하시겠습니까? 또는 하위 뷰를 이미지로 설정 하시겠습니까? – Siriss

답변

1

:

여기 ImageViews을 설정 내하는 .m 내 인터페이스입니다. 당신은 이것을 할 수 없습니다.첫 번째 UIView 하위 뷰를 하위 뷰로 추가 할 수 있도록해야합니다.

이미지보기를 만드는 것은 간단합니다. alloc/initWithImage:을 사용하고 이미지 객체를 전달할 수 있습니다. 각 이미지보기의 프레임을 조정해야합니다. 그렇지 않으면 모두 서로 겹치게됩니다.

또한 스크롤보기를 사용하는 경우 팬 제스처 인식기가 필요하지 않습니다. 스크롤 뷰가이를 처리합니다.

+0

응답 해 주셔서 감사합니다. 내 _currentView 개체는 @interface의 UIImageView 설정입니다. UIImageView에 UIImage를 추가 할 수 있습니까? 매번 새로운 UIIMageView를 만들어야합니까? – Siriss

+0

코드에서 볼 수있는 _currentView가 없습니다. 기존 이미지 뷰에 새 이미지를 할당 할 수 있습니다. 예 .image 속성 만 설정하면됩니다. – jrturton

+0

나는 도시를 떠나야했다. 미안하다. 난 그냥 내 _currentImage 설치 내 인터페이스를 포함하도록 내 질문을 편집 .... 내 마지막 게시물에 _currentView 말했다 깨닫고 혼란스럽게 생각합니다. 나는 당신의 제안을 지금 시도하고있다. – Siriss