iOS 7.0 이상.UIBarButtonItem 제목 텍스트는 항상 글로벌 색조입니다.
AppDelegate.m에서 전 세계 tintColor : self.window.tintColor = myGlobalTintColor;
을 설정하고 있습니다. NSForegroundColorAttributeName
[UIColor redColor],
을에 설정되는 코드의 라인에도 불구하고
- (void)setEditing:(BOOL)editing animated:(BOOL)animate {
[super setEditing:editing animated:animate];
if (editing) { // Start editing
self.deleteBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemTrash target:self action:@selector(deleteButtonPressed)];
[self.deleteBarButtonItem setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: [UIColor redColor], NSForegroundColorAttributeName, nil] forState:UIControlStateNormal];
self.navigationItem.rightBarButtonItems = @[self.deleteBarButtonItem];
}
}
: 테이블 뷰 셀을 편집하는 동안 내가 탐색 줄에 빨간색 휴지통 버튼을 원하는 내 테이블 뷰 컨트롤러에서
,이이 나는 붉은 색을 결코 보지 못한다.
내 코드를 통해 빗질했고 나는 '다른 곳이없는 확신 : 버튼이 .enabled = YES
로 설정하면, 단순히 다른 모든 버튼처럼, 내 글로벌 색조의 컬러 볼 다른 것을 설정하면 myGlobalTintColor
이됩니다. 이 UITableViewController
이 스토리 보드에서 인스턴스화되었다는 점은 주목할 가치가 있습니다. AppDelegate.m의 줄을 주석으로 처리하면 모든 항목이 기본 파란색 tintColor
으로 다시 전송되지만 삭제 버튼에는 여전히 붉은 색이 표시되지 않습니다.
당신이 봤어 :
은 단순히 위의 코드를 대체하여이 문제를 해결? – mbm29414'setTitleTextAttributes :'대신'[self.deleteBarButtonItem setTintColor : [UIColor redColor]];를 시도 했습니까? –
방금 해봤습니다. 불행하게도. 'self.deleteBarButtonItem.tintColor'를 설정해도 아무 것도하지 않았습니다. –