저는 iOS에서 커스텀 섹스를 가지고 놀았으며 가능한 한 많이 사용하여 스토리 보드에 응용 프로그램의 전체 워크 플로우를 시각화했습니다. popover segue를 만들 때 segue를 트리거하는 뷰 (popover의 위치를 지정해야 함)를 알고 있지만 사용자 정의 segue를 만들 때 같은 방법을 찾을 수 없습니다. 커스텀 세그 (segue)에서 세그 (segue)를 시작한 뷰에 액세스하는 방법이 있습니까? 또한 런타임 인자를 뷰 컨트롤러에 전달할 수있는 것처럼 커스텀 매개 변수를 인터페이스 빌더에서 세그 (segue)로 전달하는 방법이 있습니까?맞춤 매개 변수에 추가 매개 변수를 전달하려면 어떻게해야합니까?
4
A
답변
6
당신은 방법을 구현하여 사용자 정의 SEGUE를 트리거 한보기에 액세스 할 수 있습니다
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
을 ... 당신의보기 컨트롤러에.
이 메소드에서 보낸 사람의 값은 인터페이스 빌더를 사용하여 연결 한 경우 해당 세그먼트를 트리거 한보기가됩니다. 이 방법을 구현하는 경우, 그것은 다음과 같은 방법으로 트리거 된 것을 SEGUE 조회하는 것이 좋습니다 : "segueid는"당신이 인터페이스 빌더에서 SEGUE에 준 식별자 것
if ([[segue identifier] isEqualToString:@"segueid"])
....
두 번째 질문에 대해서는 인터페이스 작성기에서 세그 (segue)에 대한 매개 변수를 지정하는 방법을 알지 못하지만 동일한 "prepareForSegue"메서드를 사용하여 런타임시 View Controller에서 전달할 수 있습니다.
는 사용자 정의 SEGUE이 animationStyle라는 속성을 가지고 상상이 방법을 수행하는 경우, 다음과 같은 수 있습니다 :의 당신이보기의 몇 가지가 있다고 가정 해 보자, 그런
- (void)perform
{
switch (self.animationStyle) {
case 0:
// TODO Perform animation type 0
case 1:
// TODO Perform animation type 1
}
}
을 사용자 지정 segue를 사용하려는 컨트롤러. 처음에 당신이 좋아하는 performSegue 방법을 구현할 수 있습니다 : 두 번째 뷰 컨트롤러에서 구현할 수 있지만
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"yourCustomSegueID"]) {
((YourCustomSegueClass *)segue).animationStyle = 0;
}
}
그것을 좋아 :
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"yourCustomSegueID"]) {
((YourCustomSegueClass *)segue).animationStyle = 1;
}
}
... 그래서 효과적으로 같은 정의를 재사용하는 다른 효과를 얻기위한 segue 클래스. IB가 당신이 segue를 직접 설정할 수는 없지만, 내가 아는 한 그 주위에 방법이 없다는 것은 여전히 사실입니다.
관련 문제
- 1. 술어에 추가 매개 변수를 전달하려면 어떻게해야합니까?
- 2. routeMatch 객체에 추가 매개 변수를 전달하려면 어떻게해야합니까?
- 3. 선택기에 매개 변수를 전달하려면 어떻게해야합니까?
- 4. Hadoop MapReduce Configuration 객체를 사용하여 맞춤 매개 변수를 전달하려면 어떻게해야합니까?
- 5. Facebook의 그래프 API를 통해 나에게 맞춤 매개 변수를 전달하려면 어떻게해야합니까?
- 6. URL에 여러 매개 변수를 전달하려면 어떻게해야합니까?
- 7. 술어 함수에 추가 매개 변수를 전달하려면 어떻게합니까?
- 8. 이벤트 캘린더 도우미에 매개 변수를 전달하려면 어떻게해야합니까?
- 9. 배열 매개 변수를 powershell-file에 전달하려면 어떻게해야합니까?
- 10. symfony2 callback validator에 매개 변수를 전달하려면 어떻게해야합니까?
- 11. WHERE 절에 매개 변수를 전달하려면 어떻게해야합니까?
- 12. WPF MarkupExtension의 매개 변수 배열에 여러 매개 변수를 전달하려면 어떻게해야합니까?
- 13. Cognos에서 매개 변수 내에서 매개 변수를 전달하려면 어떻게해야합니까?
- 14. 보고서를 매개 변수로 전파 재전송에 전달하려면 어떻게해야합니까?
- 15. init_per_testcase 구성 매개 변수에 매개 변수 추가
- 16. PHP에서 매개 변수를 사용하지 않고 값을 전달하려면?
- 17. 명령 줄에서 Perl 서브 루틴 매개 변수에 값을 전달하려면 어떻게해야합니까?
- 18. 자바 매개 변수를 HTML 매개 변수에 포함하기
- 19. jQuery ajax 요청의 콜백에 매개 변수를 전달하려면 어떻게해야합니까?
- 20. ASP.NET MVC에서 Html.Action()을 사용하여 액션에 매개 변수를 전달하려면 어떻게해야합니까?
- 21. 사용자 정의 Joomla 버튼에 매개 변수를 전달하려면 어떻게해야합니까?
- 22. 하나의 작업 메서드 매개 변수를 나타내는 두 개의 서로 다른 쿼리 문자열 매개 변수를 전달하려면 어떻게해야합니까?
- 23. Django의 urlize 템플릿 필터에 autoescape 매개 변수를 전달하려면 어떻게해야합니까?
- 24. 디버깅 할 때 내 프로그램에 매개 변수를 전달하려면 어떻게해야합니까?
- 25. Play의 작업에 매개 변수를 전달하려면 어떻게해야합니까? 프레임 워크 1.2.x?
- 26. Nant 스크립트에 2 개의 매개 변수를 전달하려면 어떻게해야합니까?
- 27. 함수를 즉시 실행하지 않고 함수에 매개 변수를 전달하려면 어떻게해야합니까?
- 28. ruby on rails로 file.haml의 매개 변수를 전달하려면 어떻게해야합니까?
- 29. 젠킨스의 다운 스트림 빌드에 svn_revision 매개 변수를 전달하려면 어떻게해야합니까?
- 30. 유닛 테스트에서 owner 매개 변수를 대화 상자로 전달하려면 어떻게해야합니까?
사용자 정의 segue가 일부보기 컨트롤러에만 한정되어 있지만 사용자 정의 애니메이션을 수행하고 IB에서 해당 매개 변수를 구성하기 위해 다시 사용할 수있는 사용자 정의 세그먼트를 만들지 않아도됩니다. – SoftMemes
귀하의 우려를 이해하는 경우 확실하지 않습니다. 나는 스토리 보드의 다른 지점에서 커스텀 섹스를 재사용한다는 것을 알고있다. 필자가 알아야 할 것은 각 View Controller에서 "prepareForSegue"메서드를 구현 한 다음이를 사용하여 원하는 매개 변수를 해당 Segue에 할당하는 것입니다. 물론 다른보기 컨트롤러에서 다른 매개 변수를 전달하여 원하는 결과를 얻을 수 있습니다. – flainez