2
我想爲我的應用中的導航欄使用自定義titleView,以便它可以是用戶可編輯的。我試圖得到默認的字體/對齊/等,所以我可以將它應用到我的新視圖,所以它看起來像一個正常的導航欄標題。獲取UINavigationBar的默認titleTextAttributes
我使用
NSMutableDictionary *myDict = [[NSMutableDictionary alloc] initWithDictionary:self.navigationController.navigationBar.titleTextAttributes];
NSLog(@"%@", myDict);
但這只是顯示一個空的字典。我已經看過其他答案,這表明這應該返回默認字體。
我做錯了什麼?或者在iOS7中改變了?
編輯:由於以下卡格拉,我已經更新了我的代碼:
// Get the default title label
UILabel *navigationTitleLabel;
for (UIView *sv in self.navigationController.navigationBar.subviews)
{
if (sv.subviews.count > 0 && [sv.subviews[0] isKindOfClass:[UILabel class]])
{
navigationTitleLabel = (UILabel *)sv.subviews[0];
break;
}
}
// Set the new text field to have the same attributes as the default title label
textField.font = navigationTitleLabel.font;
textField.textColor = navigationTitleLabel.textColor;
textField.textAlignment = NSTextAlignmentCenter;
self.navigationItem.titleView = textField;
非常感謝您的幫助。我用你的代碼在導航欄中找到UILabel,然後直接從那裏獲取字體屬性,並將它們放在我的新視圖(這是一個UITextField)。 – Frakur