我正在使用 XLFormXLFormRowDescriptor 。其他一切工作正常,但我有一个要求,我想使用带有图像和文本的自定义行。另外我需要在 XLFormRowDescriptorTypeSelectorPush 上做 XLFormRowDescriptor action

最佳答案

来自 XLFormBaseCell 的子类(如果您更喜欢使用 IB,您也可以创建自定义 xib),并实现

+ (void)load {
    XLFormViewController.cellClassesForRowDescriptorTypes[@"YOUR_UNIQ_TYPE"] = NSStringFromClass([CHILD_OF_XLFormBaseCell class]);
}

- (void)configure {
    [super configure];
}

- (void)update {
    [super update];
}

+ (CGFloat)formDescriptorCellHeightForRowDescriptor:(XLFormRowDescriptor *)rowDescriptor;

要不使用默认操作(如 XLFormRowDescriptorTypeSelectorPush),您可以覆盖此方法:
- (void)formDescriptorCellDidSelectedWithFormController:(XLFormViewController *)controller {
//anything you want, for example
    if (self.rowDescriptor.action.formBlock) {
        self.rowDescriptor.action.formBlock(self.rowDescriptor);
    }
}

然后您将能够使用创建 XLFormRowDescriptor
- (instancetype)initWithTag:(NSString *)tag rowType:(NSString *)rowType title:(NSString *)title;

关于ios - 带有图像和文本的 XLForm 自定义行以及 Action Objective C 上的推送 Controller ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40532624/

10-11 04:34