2012-10-05 5 views
0

xib 파일에 UIView와 UIScrollView가 있습니다.scrollView를 .xib 파일의보기에 추가하십시오.

내 UIView 내에서 다른 UIView (동안 중간 화면) 및 프로그래밍 방식으로 내 scrollView 추가하고 싶습니다.

이유는 내가 거기에 scrollView를 추가하고 싶습니다 한 번 mapView를 추가하고 싶습니다. 내가 무슨 짓을

은 다음과 같이이다 :

CGRect frame = self.view.bounds; 
    self.scrollView = [[UIScrollView alloc] initWithFrame: frame]; 
    CGSize pagesScrollViewSize = self.view.frame.size; 
    self.scrollView.contentSize = CGSizeMake(pagesScrollViewSize.width * self.pageImages.count, pagesScrollViewSize.height); 

내가 또한있는 UIScrollView의 대리자를 설정해야합니다.

나는 제대로 작동하지 않을 수 있습니다. 내가있는 ScrollView delegate 연결해야 어디도 모르는

-[UIScrollView setPageId:]: unrecognized selector sent to instance 0x7dd84e0 
2012-10-06 00:56:17.373 testN[3525:c07] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIScrollView setPageId:]: unrecognized selector sent to instance 0x7dd84e0' 

이 내 오류입니다. 너 나 좀 도와 줄 수있어? 당신은 아마 몇 가지 코드를 가지고 있기 때문에

+0

글쎄, 뭐죠 setPageId : 방법/속성? 어디에서 불려지나요? object.pageId = something과 같을 것입니다. setPageId를 호출 한 객체가 메서드를 구현하지 않기 때문에 오류가 발생했습니다. 코드가 유효하다고 생각하는 어딘가에 할당 해제 된 오브젝트가 있습니다. – Matt

답변

1

인터페이스 작성기에 UIScrollView를 추가하고 거기에서 대리인 및 파일 소유자를 설정하여 성공적으로 수행 할 수 있습니다.

난 그냥 스토리 보드에서의 ViewController에있는 UIView를 추가 할 수 있기 때문에이 코드가 작동하지 않습니다 유의해야

:

NSArray *views = [[NSBundle mainBundle] loadNibNamed:@"OfferView" owner:self options:nil]; 
UIView *newPageView = [views lastObject]; 

사용해야합니까 :

UIView *newPageView = [views objectAtIndex:0]; 
3

당신이지고있어 오류가 당신이 붙여 넣은 코드에없는, 그것은에,

에 관계없이 그와 같은 self.scrollView.pageId = ... 다른 곳으로의 화면 중앙의 MKMapView, UIScrollView 및 흰색 UIView에 대한 IBOutlet 참조를 뷰 컨트롤러에 추가해야하는 효과를 얻을 수 있습니다.

당신은 또한 마우스 오른쪽 버튼으로 클릭하여 XIB 파일에있는 ScrollView의 대리자를 설정하고 파일 소유자로 (출구에서) 위임 옆에있는 원을 끌어

(파일의 소유자를 가정하는 것은 UIScrollViewDelegate를 구현하는 UIViewController에있다) 수

는 다음의 viewDidLoad에 당신은 당신이 이미 XIB 파일이 그것을 가지고 당신은 수동으로 코드에서 스크롤 뷰 초기화/ALLOC 안이

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    self.scrollView.contentSize = self.scrollView.frame.size; 
    self.scrollView.frame = self.whiteCenterView.bounds; 
    [self.whiteCenterView addSubview:self.scrollView]; 
} 

같은이있을 것이다 그것은 이미 자동으로 생성됩니다 컨트롤러에서 viewDidLoad가 호출 될 때까지

+0

+1 감사합니다. – Ali