怎么删除ui组件

在Eclipse中去掉多余的UI组件的几个方法 Eclipse的扩展机制是其一个重要特色,但随着Eclipse功能越做越强,插件越来越多,你会发现GUI上的图标越来越多,Menu,toolbar,context menu都被占满了,其实很多item并不是我们需要的,但是contribute这些item的插件我们是需要的,那怎么去掉它们扩展的那些菜单项呢?
1.在Plugin.xml中定制
这是最简单的办法,很多时候我们自己想写代码来去掉一些菜单项,但效果并不好.所以能在Plugin.xml中定制的,我们就 尽量写在plugin.xml里面.下面举一个右键菜单的例子:
扩展右键菜单需要扩展org.eclipse.ui.popupMenus扩展点,我们一般都在它下面new一个action,但这个action扩展之后不管在 任何界面都会出现,如果我们想在某些条件下隐藏掉它该怎么办?仔细观察下org.eclipse.ui.popupMenus扩展点,其实我们还可以新建objectContribution扩展
<extension
point="org.eclipse.ui.popupMenus">
<objectContribution
id="my.example.objectContribution"
nameFilter="*example*"
objectClass="java.io.File">
<action
class="my.example.MyAction"
id="my.example.MyAction"
label="Exe"
menubarPath="additional">
</action>
</objectContribution>
</extension>
objectContribution里面也包含一个action,但这个action在popupmenu里出现是有条件的:我们给它定义了一个nameFilter, 只有当selection()的path中包含了"example"才会显示,否则这个action是不会出现在 popupmenu里的.这里的selection假设选中的是一个File,如果选中的是你自己写的类,那namefilter会在你的类的toString方法里面找keyword.

怎么样删除UI组件. 不调用-resignKeyWindow直接,它被重写以执行代码时,你UIWindows被删除为了消除旧的窗口中,您需要创建一个UIWindow的新实例,并使其-makeKeyAndVisible,旧的窗口将辞去其关键在iOS 4的甚至会垃圾回收你的旧UIWindow中,只要你没有给它任何引用在iOS中3.x中这样做会有效果警告你

2. 隐藏窗口的正确方法是设置hidden属性为YES从的UIApplication的移除windows属性,您只要松开窗口(ARC您设置为nil的所有引用) 当然,你会希望在这个拥有另一个窗口到位

3. 删除它是这样的:[myWindow resignKeyWindow];
[myWindow release];

释放使得它从窗户的UIApplication阵列得到消除您可以查看[[的UIApplication sharedApplication]窗口数],以验证它是否已正确删除

4. 我有这个问题,它可能会有所帮助 你需要摧毁所有强大的裁判删除之前的dealloc一个窗口,尤其是rootWindowController我认为下面的代码,就足以删除任何窗口: [self.window.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)];
self.window.rootViewController = nil;
[self.window resignKeyWindow];
[self.window removeFromSuperview];

(随机推荐阅读本站500篇优秀文章点击前往:500篇优秀随机文章)
来源:本文由易搜IT博客原创撰写,欢迎分享本文,转载请保留出处和链接!