gpt4 book ai didi

ios - 'initWithFrame :reuseIdentifier' is deprecated

转载 作者:可可西里 更新时间:2023-11-01 04:40:33 24 4
gpt4 key购买 nike

我试图重新创建一个 Xcode 项目,但我遇到了一个错误“'initWithFrame:reuseIdentifier' is deprecated”。这是代码:

- (id)initWithFrame:(CGRect)frame reuseIdentifier:(NSString *)reuseIdentifier {
if (self = [super initWithFrame:frame reuseIdentifier:reuseIdentifier]) {
UIView *myContentView = self.contentView;

self.todoPriorityImageView = [[UIImageView alloc] initWithImage:priority1Image];
[myContentView addSubview:self.todoPriorityImageView];
[self.todoPriorityImageView release];

self.todoTextLabel = [self newLabelWithPrimaryColor:[UIColor blackColor]
selectedColor:[UIColor whiteColor] fontSize:14.0 bold:YES];
self.todoTextLabel.textAlignment = UITextAlignmentLeft; // default
[myContentView addSubview:self.todoTextLabel];
[self.todoTextLabel release];

self.todoPriorityLabel = [self newLabelWithPrimaryColor:[UIColor blackColor]
selectedColor:[UIColor whiteColor] fontSize:10.0 bold:YES];
self.todoPriorityLabel.textAlignment = UITextAlignmentRight;
[myContentView addSubview:self.todoPriorityLabel];
[self.todoPriorityLabel release];

// Position the todoPriorityImageView above all of the other views so
// it's not obscured. It's a transparent image, so any views
// that overlap it will still be visible.
[myContentView bringSubviewToFront:self.todoPriorityImageView];
}return self;}

我在第 2 行的 if 语句开始时收到错误。这个函数显然不建议再使用,现在是这个函数:

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {

self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
// Initialization code.
}
return self;}

我真的不知道如何修改上面的函数并将其放入较新的函数中!有人可以帮我解决这个问题吗?

谢谢

凯文

最佳答案

新的初始化器使用了 UITableViewCellStryle而不是为单元格指定框架 CGRect,而只是将框架提供给 [super initWithFrame:frame reuseIdentifier:reuseIdentifier] 中的父类(super class)。所以,将所有相同的代码放在新版本中应该没有问题,没有 if 语句。

你有:

- (id)initWithFrame:(CGRect)frame reuseIdentifier:(NSString *)reuseIdentifier {
if (self = [super initWithFrame:frame reuseIdentifier:reuseIdentifier]) {
// all your stuff
}
return self;
}

你现在有:

- (id)initWithStyle:(UITableViewCellStyle)style
reuseIdentifier:(NSString *)reuseIdentifier {
if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
// all your stuff
}
return self;
}

关于ios - 'initWithFrame :reuseIdentifier' is deprecated,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6640891/

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