• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

iOS View 类似于添加/编辑联系人

[复制链接]
菜鸟教程小白 发表于 2022-12-12 10:02:40 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我正在尝试创建一个类似于在 iOS 中添加/编辑联系人的 View ,并且正在发生一些事情,我不确定它们是如何实现的。非常感谢任何有助于理解的帮助。

  1. 对于联系人中的每个部分,例如姓名、电话号码、电子邮件等,它们是各自的 tableview 还是更大的 tableview 中的这些部分?

  2. 在添加或编辑联系人时单击完成时,未使用的表格 View 单元格会消失。这是使用 deleteRowsAtIndexPaths:withRowAnimation: 还是我没有找到隐藏方法?如果是使用那个方法,那么当点击编辑联系人按钮时, View 是如何带回这些未使用的tableview单元格的呢?

  3. 在编辑联系人时单击表格 View 单元格中的单元格时,您可以更改文本。这是表格 View 单元格中的文本字段还是实际上修改了表格 View 单元格的标签?

我不是在寻找任何特定的代码,作为一个相当新的程序员,我只是想了解实现这些功能的策略/最佳方式。



Best Answer-推荐答案


  1. 我尝试了很多不同的方法来实现它。最简单的一个:继承 UITableViewCell 并覆盖 setFrame:。请注意,这对于分组表很容易实现,但对于普通表则很难。在数据源的 tableView:cellForRowAtIndexPath: 中为第一部分创建此自定义单元格的对象。对该部分的单元格使用另一个标识符,以便仅重用正确的单元格。

  2. 是的,我假设。 Controller 有某种定义,在编辑模式下必须显示多少个单元格,以及多少个单元格实际用于某种信息。您可以轻松创建必须删除的 indexPaths 数组。

  3. 我会在 tableView:didSelectRowAtIndexPath: 中通过 tableView:cellForRowAtIndexPath: 获取单元格,隐藏标签并取消隐藏或添加文本字段并制作这个第一响应者。


1 的代码。

细胞

@interface InsetCell : UITableViewCell
@property(nonatomic)CGFloat inset;
@end



@implementation InsetCell

- (void)setFrameCGRect)frame {
    CGFloat inset;
    if (_inset == 0) {
        inset = 70;  //default value
    } else {
        inset = _inset;
    }
    frame.origin.x += inset;        
    [super setFrame:frame];
}

-(void)setInsetCGFloat)inset
{
    _inset = inset;
    [self setNeedsLayout];
}

@end

使用类似代码的项目
screenshot insetcell

关于iOS View 类似于添加/编辑联系人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15775730/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap