2012-02-04 4 views
0

작은 문제가 다시 발생합니다. 우선 여기에 this brilliant battle of intellect을 찾았지만 거기에는 아까운 대답도 없습니다. 다른 게시물도 있습니다. 글쎄, UIView에서 다른 UIViewController로 이동해야합니다.UIView 하위 클래스에서 다른 UIViewController로 이동하는 방법

내 코드 :이 버튼을 누르면 자신

-(void)goToSetQualityView 
{ 
    SetQualityView *sqv=[[SetQualityView alloc]initWithNibName:@"SetQualityView" bundle:nil]; 
    sqv.itemID=self.itemID; 
    sqv.currentQuality=theItem.quality; 
    [[[[self window] rootViewController] navigationController] pushViewController:sqv animated:YES]; 
    [sqv release]; 
} 

는, 아무 일도 발생하지 않기 때문에 -layoutSubviews에서 나는 버튼

if(!setQualityButton) 
{ 
    setQualityButton=[[[UIButton alloc]initWithFrame:CGRectMake(120.00,367.00,100,27)] autorelease]; 
    [self.setQualityButton setBackgroundImage:[UIImage imageNamed:@"btnGreen.png"] forState:UIControlStateNormal]; 

    [setQualityButton.layer setBorderColor: [[UIColor grayColor] CGColor]]; 
    [setQualityButton.layer setBorderWidth: 1.0]; 
    [setQualityButton.layer setCornerRadius:8.0f]; 
    [setQualityButton.layer setMasksToBounds:YES]; 

    [setQualityButton addTarget:self action:@selector(goToSetQualityView) forControlEvents:UIControlEventTouchUpInside]; 
    [self addSubview:setQualityButton]; 
} 

그리고 방법을 만들 수 있습니다. 내 말은 다른 시각으로 이동하지 않고 경고도받지 않는다는 뜻입니다.

+2

뷰 _controller_ 구현에서'[self.navigationController pushViewController : sqv animated : YES]'를 시도하십시오. – Costique

+0

UIView 클래스에는 .navigationController 매개 변수가 없습니다. 그것이 문제이다. – NCFUSN

답변

0

이 뷰 대리자를 보유하고있는 viewcontroller를 만들고 해당 뷰 컨트롤러를 다음에서 밀어 넣습니다. Ot는 뷰를 가지고있는 viewcontrooler의 네비게이션 콘트롤러를 제공하기 때문에 다음 viewcontroller를 푸쉬하기 위해 그것을 사용할 것이다.

+0

몇 가지 예를 들어 주시겠습니까? – NCFUSN

+0

[예제 1] (http://www.roostersoftstudios.com/2011/04/12/simple-delegate-tutorial-for-ios-development/) [예제 2] (http : //www.ios-developer. net/iphone-ipad-programmer/development/delegate/how-to-create-a-delegate) [예제 3] (http://iphonedevelopertips.com/objective-c/the-basics-of-protocols-and-delegates) .html) 이것은 프로토콜과 대리자에 관한 모든 것입니다. 그것은 옳은 방법입니다. –

+0

확인. 도와 줘서 고마워. – NCFUSN

관련 문제