gpt4 book ai didi

iphone - 设置 UITableView 的样式

转载 作者:行者123 更新时间:2023-11-28 18:39:37 25 4
gpt4 key购买 nike

我有一个在另一个类中调用的 UITableView 类

 MyPocketTableView * myPocketTableView = [[MyPocketTableView alloc]initWithFrame:CGRectMake(85, 153, 235, 250) style:UITableViewStyleGrouped]; 

但是,UITableViewClass 中的init 方法不允许我这样做。

@implementation MyPocketTableView

- (id) initWithFrame:(CGRect)frame style:(UITableViewStyle)style {
self = [super initWithFrame:frame];
self = [super initWithStyle:style]

if (self) {

//[self setFrame:CGRectMake(85, 153, 235, 250)];
self.dataSource = self;
self.delegate = self;

}
return self;
}

我不能在 init 方法定义上添加 style : (UITableViewStyle) 样式,我也不能做 self = [super initWithStyle:style] 因为它提示说

No visible @interface for 'UITableView' declares the selector initWithStyle.

创建类时默认的 init 方法是 - (id) initWithFrame:(CGRect)frame。 MyPocketTableView 是 UITableView 的子类。

  @interface MyPocketTableView : UITableView <UITableViewDataSource,UITableViewDelegate>

最佳答案

需要将接口(interface)设置为UITableViewController,然后使用initWithStyle:

此外,在执行以下操作时,无需设置 UITableView 协议(protocol)委托(delegate)

@interface MyPocketTableView : UITableViewController

然后你可以调用:

MyPocketTableView * myPocketTableView = [[MyPocketTableView alloc] initWithStyle:UITableViewStyleGrouped];

以及以下内容:

- (id) initWithStyle:(UITableViewStyle)style 
{
self = [super initWithStyle:style];
if (self) {
[self setFrame:CGRectMake(85, 153, 235, 250)];
}
return self;
}

您还可以使用以下(示例) 自定义方法:您正在调用的 key :

self = [super initWithStyle:UITableViewStyleGrouped];

- (id) initWithSomeCustomMessage:(NSString*)message
{
self = [super initWithStyle:UITableViewStyleGrouped];
if (self) {
[self setFrame:CGRectMake(85, 153, 235, 250)];
self.customMessage = message;
}
return self;
}

关于iphone - 设置 UITableView 的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12887621/

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