두 가지 기본 화면 인 UIMapView와 UITableView가있는 간단한 앱이 있습니다. 두 개의 세그먼트가있는 UISegmentedControl과 두 개의 버튼이있는 툴바가 아래쪽에 있습니다. "Map"과 "Table". (레이아웃은 iPhone과 함께 제공되는 Google지도 앱과 비슷합니다.) 사용자가 앞뒤로 전환 할 때 UIMapView (UIMapViewController가있는) 또는 UITableView (UITableViewController 사용) 중 하나를 표시하는 동안 어떻게 동일한 툴바를 유지할 수 있습니까? 세분화 된 컨트롤? 물론 두 개의 다른보기 각각에 대해 동일한 도구 모음을 만들고 따로 표시 할 수 있지만 더 좋은 방법이 있습니까?하나의 UIToolbar를 여러 UIViewController와 함께 어떻게 사용할 수 있습니까?
1
A
답변
0
단일 뷰 컨트롤러를 사용하고,보기에 조회수 (UIMapView, jQuery과 등)을 모두 추가하고 단순히 간단한 응용 프로그램과 함께 세그먼트 제어
을 클릭시 올바른 견해를 표시/숨기기 수 뷰가 많지 않으면 어지러운/클러스터 된 뷰 컨트롤러 파일이 없어야하며이 두 뷰를 쉽게 표시하거나 숨길 수 있습니다. 이 착해 보이는, 그래서
아마도
2
는 세그먼트 제어에 대응하여 2 VC의와 MKMapView 및 jQuery과 사이의 전환을 관리하는 UIViewController에 쓰기보기 사이를 전환 사이에 애니메이션을 사용합니다. 인터페이스 빌더에서이 새로운 VC를위한 펜촉을 먼저 설정하십시오 : UISegementedControl과 간단한 UIView (contentView)를 추가하십시오.
이//
// MapAndTableViewController.h
//
#import <UIKit/UIKit.h>
#import "MyMapViewController.h"
#import "MyTableViewController.h"
@interface MapAndTableViewController : UIViewController {
IBOutlet UISegmentedControl* segmentedControl;
IBOutlet UIView* contentView;
UIViewController* firstVC;
UIViewController* secondVC;
}
-(IBAction) valueChanged:(UISegmentedControl*) sender;
@end
구현 :
//
// MapAndTableViewController.m
//
#import "MapAndTableViewController.h"
@implementation MapAndTableViewController
-(IBAction) valueChanged:(UISegmentedControl*) sender {
if (sender.selectedSegmentIndex == 0) {
[UIView transitionFromView:[contentView.subviews lastObject] toView:firstVC.view duration:0.5 options:UIViewAnimationOptionTransitionFlipFromLeft completion:nil];
}
if (sender.selectedSegmentIndex == 1) {
[UIView transitionFromView:[contentView.subviews lastObject] toView:secondVC.view duration:0.5 options:UIViewAnimationOptionTransitionFlipFromLeft completion:nil];
}
}
-(void)awakeFromNib {
firstVC = [[MyMapViewController alloc] initWithNibName:@"MyMapViewController" bundle:nil];
secondVC = [[MyTableViewController alloc] initWithNibName:@"MyTableViewController" bundle:nil];
}
- (void)viewDidLoad {
[super viewDidLoad];
[contentView addSubview:firstVC.view];
}
- (void)dealloc {
[firstVC release];
[secondVC release];
[super dealloc];
}
@end
가 valueChanged
방법은 현재보기를 대체 인터페이스 파일은 분할 제어에 대응하는 조치를 + 2 VC 년대 UI 요소와에 대한 참조를 포함 전환을 애니메이션화합니다.
보기 firstVC.view
및 secondVC.view
은 각 VC의보기 속성에 처음 액세스 할 때 만들어집니다.
관련 문제
- 1. 하나의 UIViewController와 여러 개의 UIView 각각
- 2. UITabBar와 UIToolBar를 동시에 사용할 수 있습니까?
- 3. 여러 개의 "함께"사용할 수 있습니까?
- 4. VBA와 함께 MSHTML을 어떻게 사용할 수 있습니까?
- 5. Catalyst와 함께 Haml을 어떻게 사용할 수 있습니까?
- 6. prototype.js와 함께 (mootools와 함께) FancyUpload를 어떻게 사용할 수 있습니까?
- 7. 하나의 프로젝트에서 CakePHP와 Prado를 함께 사용할 수 있습니까?
- 8. 화면 상단에 UIToolbar를 어떻게 추가합니까?
- 9. 클래스와 함께 사용할 수 있습니까?
- 10. 장고 : 어떻게 하나의 파일에 여러 그룹을 assosiate 수 있습니까?
- 11. 장치마다 하나의 평가판을 사용할 수 있습니까?
- 12. 하나의 문서 조각을 여러 번 사용할 수 있습니까?
- 13. 하나의 데이터베이스에서 여러 개의 Wordpress 피드를 사용할 수 있습니까?
- 14. 하나의 페이지에서 여러 jquery .load() 이벤트를 사용할 수 있습니까?
- 15. 하나의 자바 스크립트 파일을 여러 HTML 파일에서 사용할 수 있습니까?
- 16. 하나의 프로젝트에서 여러 개의 PCH 파일을 사용할 수 있습니까?
- 17. 하나의 아약스 게시 기능을 사용하여 여러 양식을 사용할 수 있습니까?
- 18. 하나의 Android 드로어 블에서 여러 셰이프를 사용할 수 있습니까?
- 19. 하나의 SQLServer 인스턴스에서 여러 DB간에 EF를 사용할 수 있습니까?
- 20. BeginInvoke를 MulticastDelegate와 함께 사용할 수 있습니까?
- 21. vim을 마우스와 함께 사용할 수 있습니까
- 22. Resque와 함께 Redis를 사용할 수 있습니까?
- 23. 누가 스핑크스를 사자와 함께 사용할 수 있습니까?
- 24. Phonegap으로 CakePHP를 함께 사용할 수 있습니까?
- 25. XPath 함수를 XPathNavigator와 함께 사용할 수 있습니까?
- 26. WebBrowser 컨트롤과 ServicePointManager를 함께 사용할 수 있습니까?
- 27. Spring Roo에서 어떻게 하나의 롤백 명령을 사용할 수 있습니까?
- 28. 드루팔 (Drupal : 어떻게 하나의 테마로 모듈을 사용할 수 있습니까?
- 29. 어떻게 하나의 폼의 레이블 객체를 다른 폼으로 사용할 수 있습니까?
- 30. 컴파일러로 xsltproc와 함께 CMake를 어떻게 사용할 수 있습니까?
당신은 MKMapView를 의미합니다. UIMapView가 없습니다. – Felix