菜鸟教程小白 发表于 2022-12-12 10:02:40

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


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

<ol>
<li><p>对于联系人中的每个部分,例如姓名、电话号码、电子邮件等,它们是各自的 tableview 还是更大的 tableview 中的这些部分?</p></li>
<li><p>在添加或编辑联系人时单击完成时,未使用的表格 View 单元格会消失。这是使用 <code>deleteRowsAtIndexPaths:withRowAnimation:</code> 还是我没有找到隐藏方法?如果是使用那个方法,那么当点击编辑联系人按钮时, View 是如何带回这些未使用的tableview单元格的呢?</p></li>
<li><p>在编辑联系人时单击表格 View 单元格中的单元格时,您可以更改文本。这是表格 View 单元格中的文本字段还是实际上修改了表格 View 单元格的标签?</p></li>
</ol>

<p>我不是在寻找任何特定的代码,作为一个相当新的程序员,我只是想了解实现这些功能的策略/最佳方式。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><ol>
<li><p>我尝试了很多不同的方法来实现它。最简单的一个:继承 UITableViewCell 并覆盖 <code>setFrame:</code>。请注意,这对于分组表很容易实现,但对于普通表则很难。在数据源的 <code>tableView:cellForRowAtIndexPath:</code> 中为第一部分创建此自定义单元格的对象。对该部分的单元格使用另一个标识符,以便仅重用正确的单元格。</p></li>
<li><p>是的,我假设。 Controller 有某种定义,在编辑模式下必须显示多少个单元格,以及多少个单元格实际用于某种信息。您可以轻松创建必须删除的 indexPaths 数组。 </p></li>
<li><p>我会在 <code>tableView:didSelectRowAtIndexPath:</code> 中通过 <code>tableView:cellForRowAtIndexPath:</code> 获取单元格,隐藏标签并取消隐藏或添加文本字段并制作这个第一响应者。</p></li>
</ol>

<hr/>

<p>1 的代码。</p>

<p><em>细胞</em> </p>

<pre><code>@interface InsetCell : UITableViewCell
@property(nonatomic)CGFloat inset;
@end



@implementation InsetCell

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

-(void)setInset:(CGFloat)inset
{
    _inset = inset;
    ;
}

@end
</code></pre>

<hr/>

<p>使用类似代码的项目<br/>
<img src="/image/EuJJR.png" alt="screenshot insetcell"/> </p></p>
                                   
                                                <p style="font-size: 20px;">关于iOSView 类似于添加/编辑联系人,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/15775730/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/15775730/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iOS View 类似于添加/编辑联系人