内置UIControl的iOS原型单元

内置UIControl的iOS原型单元,第1张

概述到目前为止,我只需要实现具有预定义设计(正常,副标题等)的原型单元,这不是问题. 现在我需要实现原型单元,其中包含一些控件,如分段开关,开关或任何其他.问题是我无法找到触发的动作是如何实现的以及它们与控件的关系.此外,我还没有找到任何关于如何在单个UITableViewController中实现不同原型单元的示例. 我知道这是一个普遍的问题,但我会在这里感谢一些指点.也许有人知道一些文档,教程等等 到目前为止,我只需要实现具有预定义设计(正常,副标题等)的原型单元,这不是问题.

现在我需要实现原型单元,其中包含一些控件,如分段开关,开关或任何其他.问题是我无法找到触发的动作是如何实现的以及它们与控件的关系.此外,我还没有找到任何关于如何在单个UItableVIEwController中实现不同原型单元的示例.

我知道这是一个普遍的问题,但我会在这里感谢一些指点.也许有人知道一些文档,教程等等.好吧,任何帮助都可以,

事先提醒.

解决方法 我花了一段时间才了解如何使用原型细胞.如果要访问原型单元格内的用户界面元素,则必须创建UItableVIEwCell的子类并将其分配给Interface Builder中的原型单元格.
然后你必须手动定义IBOutlet属性,例如:
@interface OptionSwitchCell : UItableVIEwCell@property (weak,nonatomic) IBOutlet UISwitch* switchControl;@end

之后,您可以通过控制 – 从元素拖动到辅助视图中的属性定义来连接界面元素.
相反,IBActions可以在拥有的VIEw Controller中定义.您可以控制 – 从界面元素拖动到VIEw Controller头文件并创建 *** 作.在动作实现中,您可能想知道哪个单元格正在触发 *** 作.我是这样做的:

@implementation SometableVIEwController- (IBAction)toggleActivity:(ID)sender {    OptionSwitchCell* cell = (OptionSwitchCell *)[sender supervIEw].supervIEw;    NSIndexPath *indexPath = [self.tableVIEw indexPathForCell:cell];    ...}@end

查找相应单元格和索引路径的另一种解决方案(通过jrturton):

- (IBAction)toggleActivity:(ID)sender {    CGPoint hitPoint = [sender convertPoint:CGPointZero toVIEw:self.tableVIEw];     NSIndexPath *hitIndex = [self.tableVIEw indexPathForRowAtPoint:hitPoint];    OptionSwitchCell* cell = (OptionSwitchCell *)[self.tableVIEw cellForRowAtIndexPath:hitIndex];    ...}

虽然这有点古怪,但到目前为止我还没有找到更好的解决方案.希望有所帮助.

总结

以上是内存溢出为你收集整理的内置UIControl的iOS原型单元全部内容,希望文章能够帮你解决内置UIControl的iOS原型单元所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1114451.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存