문제

새로운 탐색 기반 iPhone 앱을 만들었습니다. rootViewController에 이것을 추가했습니다.

- (void)viewDidLoad {
    [super viewDidLoad];
    UIBarButtonItem *addButton = [[UIBarButtonItem alloc] init];
self.navigationItem.leftBarButtonItem = addButton;
self.navigationItem.leftBarButtonItem.enabled = YES;
}

그러나 왼쪽 버튼이 표시되지 않습니다. 내가해야 할 일이 있습니까?

도움이 되었습니까?

해결책

버튼이 실제로 무엇을하는지 정의하지 않습니다. 이것은 내 앱의 라인입니다.

self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(cancelEdit:)];

cancelEdit:, 선택기는 현재 클래스 (self)에 있으며 다음과 같이 정의됩니다.

- (void) cancelEdit: (id) sender;

다른 팁

실제로 여기에 나열되지는 않지만 많은 경우에 매우 유용 할 수 있습니다. 만약 너라면 uinavigationcontroller를 사용하고 싶지 않습니다, 그 다음에 self.navigationItem 당신을위한 옵션이 아닙니다.

UIBarButtonItem *barButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"imageName"] style:UIBarButtonItemStyleBordered target:self action:@selector(action:)];
UINavigationItem *navigationItem = [[UINavigationItem alloc] initWithTitle:@"Bar Title"];
navigationItem.leftBarButtonItem = barButton;
[navigationBar pushNavigationItem:navigationItem animated:NO];

막대와 버튼으로 경량 UIViewController를 만들 때이를 원하지만 탐색 오버 헤드를 원하지 않습니다.

이 질문에 대해 :

대단해, 감사합니다. 사용 가능한 다양한 선택기는 어디에서 찾을 수 있습니까? 문서는 이것에 대해 매우 모호합니다. 인스턴스 메소드를 정의하고 선택기로 넣었지만 결코 실행되지 않았습니다. 버튼을 클릭하면 DetailView에서 슬라이드하고 싶습니다. - 2 월 19 일 16:19

더 많은 정보가 필요한 곳으로 가서 ESC (Escape) 키를 누릅니다. 이 예에서는 다음과 같습니다.

...(beginning of line)... @selector(커서를 여기에 놓고 ESC를 누릅니다) ...

사용 가능한 선택기 목록이 나타납니다. Microsoft 프로그래머의 경우 Intellisense와 비슷하지만 ESC와 함께 요청해야합니다 (Visual Studio에서는 자동으로 나타나지 않습니다). 실제로 말하면, Xcode는 입력을 시작할 때 작성하려는 대부분의 것을 생성하며 탭 키가 친구라는 것을 알아낼 때 실제로 도움이됩니다. (글쎄 ... 그건 나의 친구 ... 내가 가진 외로운 삶)

이제 자신의 선택기가 필요한 경우 라벨을 거기에 배치 할 수 있습니다 (MySelector: 예를 들어) 그러면 코드에서 더 아래로 내려 가서 빌드하십시오.

- (IBAction)mySelector:(id)sender {
NSLog(@"You touched me THERE!");
}

또한 헤더 (.H) 파일에 해당하는 것을 넣어야합니다.

-(IBAction) mySelector:(id)sender;

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top