菜鸟教程小白 发表于 2022-12-12 09:30:03

ios - 如何通过按下 subview 中的按钮来删除以编程方式创建的 subview


                                            <p><p>我目前有一个条形按钮:</p>

<pre><code>UIBarButtonItem *doneButton = [ initWithTitle:@&#34;Done&#34; style:UIBarButtonItemStyleBordered target:self action:@selector(doneDate:)];
</code></pre>

<p>它调用以下 Action :</p>

<pre><code>- (IBAction)doneDate:(id)sender{

}
</code></pre>

<p>调用如下方法:</p>

<pre><code>- (void)removeDateView{

NSLog(@&#34;subviews of view3.view: %@&#34;,self.View3.subviews);
;
</code></pre>

<p>}</p>

<p>我要删除的 subview 是</p>

<pre><code>UIView *containerView = [ initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 44.0 + 210)];
</code></pre>

<p>目前它只是删除了该 View 中的所有内容,我似乎无法删除名为 containerView 的 View ,该 View 具有日期选择器和工具栏。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>正如 erhnby 所说,您可以使用标签 - 这是一种很好的方法,但我总是尽量避免循环浏览 View 的 subview 。就我个人而言,我会制作你要删除实例变量的 View ,当你想删除它时,你可以直接在它上面调用 remove... 只是做了一个简单的例子:</p>

<p>.h 文件:</p>

<pre><code>#import &lt;UIKit/UIKit.h&gt;

@interface TestViewController : UIViewController {
    UIView *_containerView;
}

@end
</code></pre>

<p>.m 文件:</p>

<pre><code>#import &#34;TestViewController.h&#34;

@interface TestViewController ()

@end

@implementation TestViewController

- (id)init {
    self = ;

    // create the bar button and set it as the right bar button on the navigation bar
    self.navigationItem.rightBarButtonItem = [ initWithTitle:@&#34;Done&#34; style:UIBarButtonItemStyleBordered target:self action:@selector(removeDoneDate)];

    return self;
}

- (void)viewDidLoad {
    ;

    // create the container view and add it as a subview
    _containerView = [ initWithFrame:CGRectMake(20, 100, 100, 100)];
    _containerView.backgroundColor = ;
    ;

}

- (void)removeDoneDate {
    // remove it
    ;
}

@end
</code></pre>

<p>结果在此开始:</p>

<p> <img src="/image/GiOuQ.png" alt="enter image description here"/> </p>

<p>按下按钮...</p>

<p> <img src="/image/g5fvX.png" alt="enter image description here"/> </p>

<p>(抱歉,没想到白底白字这么难看)</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 如何通过按下 subview 中的按钮来删除以编程方式创建的 subview ,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/23162201/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/23162201/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 如何通过按下 subview 中的按钮来删除以编程方式创建的 subview