gpt4 book ai didi

ios - 如何访问 QuickDialog 单元格元素的 UITableViewCell?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:20:49 39 4
gpt4 key购买 nike

我正在尝试访问 QuickDialog 表单的 UITableViewCell 的属性。

更具体地说,我正在尝试访问 QEntryElement (QDateTimeInlineElement) 的 accessoryView 属性,它“隐藏”在我创建的对象的属性列表中。

我正在尝试使用

访问单元格
    UITableViewCell *thisCell = [dateelement getCellForTableView:self.quickDialogTableView controller:self];

但由于某些原因没有显示任何内容。我正在尝试在其中插入一个 UIButton,如下所示:

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setTitle:@"=" forState:UIControlStateNormal];
button.frame = CGRectMake(0, 0, 24, 24);

然后 thisCell.accessoryView = 按钮;

我是不是以错误的方式访问了该属性,或者根本没有创建按钮?没有错误显示,但 accessoryView 是空的。

提前致谢

最佳答案

This issue看起来非常接近你的要求。基本上,您首先必须提供自己的 QuickDialogStyleProvider,按照 escoz 所建议的方式实现 cell:willAppearForElement:atIndexPath: 方法:

Once you get the call in the provider method, you have full control of the cell. You can just check if the cell is of type QEntryTableViewCell, and if it is, cast to that type and change the color/font of the textField property. A nice side effect is that this will also change the color for all subclasses, like the radio button, date/time fields, etc..

所以,在你的情况下你会做类似的事情

- (void)viewDidLoad
{
self.quickDialogTableView.styleProvider = self;
}

- (void)cell:(UITableViewCell *)cell willAppearForElement:(QElement *)element atIndexPath:(NSIndexPath *)indexPath
{
if([cell isKindOfClass:[QDateTimeInlineElement class]])
{
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setTitle:@"=" forState:UIControlStateNormal];
button.frame = CGRectMake(0, 0, 24, 24);

cell.accessoryView = button;
}
}

抱歉,如果它不完全正确,我现在离开 Xcode。

关于ios - 如何访问 QuickDialog 单元格元素的 UITableViewCell?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11674366/

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