gpt4 book ai didi

ios - 在 iOS 上以编程方式在 View 中显示单个字符串

转载 作者:行者123 更新时间:2023-11-28 18:45:38 26 4
gpt4 key购买 nike

我们有一个充满小 View 方 block 的窗口(想想计算器)。

对于窗口上的特定 View ,我们希望在 View 中显示单个字符串而不使用 Interface Builder 添加字符串。我们需要能够更改字符串并刷新 View 。

我们如何以编程方式将字符串添加到 View 并显示它?


更新:

好的,这是我们目前的代码。头文件中没有什么特别的。我想真正的问题是考虑到我们可以很容易地改变背景颜色,为什么我们的文字没有显示?两个版本都在那里,很乐意显示“苹果”或“橘子”。

- (id)initWithFrame:(CGRect)frame {
if ((self = [super initWithFrame:frame])) {

bgString = @"orange";

UILabel* aLabel = [[UILabel alloc] init];
aLabel.text = @"apple";
self.textLabel = aLabel;
[aLabel release];
[self addSubview:textLabel];
}
return self;
}

- (void)drawRect:(CGRect)rect {
// Drawing code
[[UIColor yellowColor] setFill];
UIRectFill(rect);
[self drawStringCenteredIn:rect];
}

- (void)drawStringCenteredIn:(CGRect)r {
//CGSize strSize = [bgString size];
CGPoint strOrigin;
strOrigin.x = r.origin.x; //+ (r.size.width - 10)/2;
strOrigin.y = r.origin.y; //+ (r.size.height - 10)/2;
//[bgString drawAtPoint:strOrigin withFont:[UIFont fontWithName:@"Helvetica" size:10]];
[textLabel drawTextInRect:r];
}

最佳答案

在您的 View Controller 的 .h 中:

@interface MyViewController
{
UILabel* label;
}

@property (nonatomic, retain) UILabel* label;

在您的 View Controller 的 .m 中:

- (void)dealloc
{
[label release];
[super dealloc];
}

- (void)viewDidLoad
{
[super viewDidLoad];

UILabel* aLabel = [[UILabel alloc] init];
aLabel.text = @"Initial Text";
self.label = aLabel;
[aLabel release];
[self.view addSubview:aLabel];
}

- (void)viewDidUnload
{
[self.label removeFromSuperview];
self.label = nil;
}

// Call this when you need to update the label
- (void)updateLabel
{
self.label.text = @"Some updated text";
}

凭内存做的,但应该可以。

关于ios - 在 iOS 上以编程方式在 View 中显示单个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3605909/

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