ios - 如何通过按下 subview 中的按钮来删除以编程方式创建的 subview
<p><p>我目前有一个条形按钮:</p>
<pre><code>UIBarButtonItem *doneButton = [ initWithTitle:@"Done" 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(@"subviews of view3.view: %@",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 <UIKit/UIKit.h>
@interface TestViewController : UIViewController {
UIView *_containerView;
}
@end
</code></pre>
<p>.m 文件:</p>
<pre><code>#import "TestViewController.h"
@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:@"Done" 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]