Sorunum, UIControlStateHighlighted'deki UIBarButtonItem başlık etiketinin tam rengini ayarlayamıyorum. UINavigationBar'ın, vurgulanan başlık etiketinin üstünde koyu renkli "renk bindirmesi" eklediğini ve bunun nasıl devre dışı bırakılacağını bilmiyorum. Ben görünüş üzerinden yapılandırılır başlık metni ile UIBarButtonItem varUIBarButtonItem'in başlık etiketinden nasıl kurtululur vurgulanır
, Normal için kesin renkler ihtiyaç ve devleti vurgulanan, bu yüzden yapılandırılmış UIBarButtonItems bu şekilde ettik: UINavigationBar için UIBarButtonItem ekleme
UIBarButtonItem *barButtonItemAppearance = [UIBarButtonItem appearanceWhenContainedIn:[UINavigationBar class], nil];
NSDictionary * textAttributes = @{
NSForegroundColorAttributeName : blueColor,
};
[barButtonItemAppearance setTitleTextAttributes:textAttributes forState:UIControlStateNormal];
NSDictionary * selectedTextAttributes = @{
NSForegroundColorAttributeName : whiteColor
};
[barButtonItemAppearance setTitleTextAttributes:selectedTextAttributes forState:UIControlStateHighlighted];
Kodu:
- (void)viewDidLoad {
[super viewDidLoad];
UIBarButtonItem *logoutButtonItem = [[UIBarButtonItem alloc] initWithTitle:title
style:UIBarButtonItemStylePlain
target:target
action:action];
[self.navigationItem setRightBarButtonItem:logoutButtonItem];
}
ekli ekran bakınız.
benim Vurgulanan çubuğu düğmesi sadece beyaz olmak istiyorum. UIBarButtonItem öğesinin customView özelliğine başlık olarak UIButton eklemeyi ve normal ve vurgulanan durumlar için UIButton'u yapılandırmayı denedim.
UIButton *customButton = [UIButton buttonWithType:UIButtonTypeCustom];
[customButton setTitle:title forState:UIControlStateNormal];
[customButton setTitleColor:blueColor forState:UIControlStateNormal];
[customButton setTitleColor:whiteColor forState:UIControlStateHighlighted];
[customButton sizeToFit];
[customButton addTarget:target action:action forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithCustomView:customButton];
Benim problem sabit, ama belki UIButton eklemeden, başka bir yol, daha iyi bir çözüm vardır: BU mükemmel şekilde çalışmaktadır i vurgulayarak sadece net beyaz renk görmüyorum?
Normal ve vurgulanan durum için titleTextAttributes ekledim. Ama ben öğe vurgulandığında sceen ne olsun, bu renk daha koyu olur. –
Ayrıca bir başlık rengi da ayarlamak zorunda –