gpt4 book ai didi

ios - 为什么我的 UILabel 不改变字体?

转载 作者:行者123 更新时间:2023-11-29 13:16:37 24 4
gpt4 key购买 nike

我在这里阅读了关于 XCode 中自定义字体的不同答案,但我仍然无法让它工作。

我做了什么:

将其添加到 Plist。将其添加到复制绑定(bind)资源。

如果我这样做:

for ( NSString *familyName in [UIFont familyNames] )
{
NSLog(@"Family: %@", familyName);
NSLog(@"Names = %@", [UIFont fontNamesForFamilyName:familyName]);
}

它将打印它:

2013-03-26 17:04:52:214 Appname[21704:2311] Family: Patrick Hand
2013-03-26 17:04:52:217 Appname[21704:2311] Names = (
"PatrickHand-Regular"
)

而且我尝试同时设置字体:

self.usernameLabel.font = [UIFont fontWithName:@"PatrickHand-Regular" size:30];

self.usernameLabel.font = [UIFont fontWithName:@"PatrickHand" size:30];

我最绝望的尝试是这样的:

for ( NSString *familyName in [UIFont familyNames] )
{
NSLog(@"Family: %@", familyName);
NSLog(@"Names = %@", [UIFont fontNamesForFamilyName:familyName]);
[self.usernameLabel setFont:[[UIFont fontNamesForFamilyName:familyName] objectAtIndex:0]];
if ( [familyName isEqualToString:@"Patrick Hand" ])
{
NSLog(@"BREAK!");
break;
}
}

但还是没变。

建议尝试什么?

最佳答案

当您想使用 IBOutlet 实例变量更改用户界面中的某些内容时,您需要确保在适当的时间调用代码。

例如,假设您有一个类如下:

@interface MDViewController : UIViewController

@property (nonatomic, strong) IBOutlet UILabel *usernameLabel;

@end

还有一个 MDViewController.nib 文件,它包含 View Controller 的 UI,假设您想将标签的内容设置为某个值。

通常,init 方法(如 initinitWithCoder:)在对象的生命周期中调用得太早,无法与对象进行通信UI 中的对象,因为 nib 文件尚未完全加载,此时您的 IBOutlet 实例变量仍将为 nil

稍后,在 awakeFromNibviewDidLoadviewWillAppearviewDidAppear 等方法中, IBOutlets 将被正确设置,您可以与 UI 对象通信。

在您的情况下,viewDidLoadviewWillAppear 可能是设置此值的好点(哪个取决于您的特定需求)。

关于ios - 为什么我的 UILabel 不改变字体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15642016/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com