Burada, yukarıdaki yorumlarda dile getirilen tüm noktaları kapsayan oldukça iyi görünen bir çözüm var. Kabul edilen cevaba benzer, ancak bu yaklaşım, düğmenin sağ kenara çarpmaması için ekstra boşluk (çerçeveyi değiştirerek) içerir.
// Create the info button
UIButton *infoButton = [UIButton buttonWithType:UIButtonTypeInfoLight];
// Adjust the frame by adding an addition 10 points to its width so the button is padded nicely
infoButton.frame = CGRectMake(infoButton.frame.origin.x, infoButton.frame.origin.y, infoButton.frame.size.width + 10.0, infoButton.frame.size.height);
// Hook the button up to an action
[infoButton addTarget:self action:@selector(showInfoScreen) forControlEvents:UIControlEventTouchUpInside];
// Add the button to the nav bar
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:infoButton];
// Also make sure to add a showInfoScreen method to your class!
Parlak, teşekkür Reena. Onu kabul edilen cevap olarak işaretledim, ama eğer yanağımı bağışlayacak kadar nazik olsaydın, bilgi butonunu beş pikselle sola nasıl sorabilirim diye sorabilir miyim? Doğru çubuk düğme öğesi olarak eklenmesi, ekranın sağ tarafına doğru ezildiğini gösterir. –
'leftBarButtonItem' özelliğini kullanarak sol olarak ayarlayabilirsiniz. Self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView: btn]; – Reena
Üzgünüm Reena. Ben sağ çubuk düğme öğesi olarak istiyorum, sadece sağda biraz boşluk eklemek istiyorum (böylece sağ tuşa 5px getirerek). Mümkün mü? –