- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在我的跨平台 SWT Java 应用程序中,我使用 TrayItem 的 setImages() 函数来设置停靠栏和状态栏图标。图标是 128x128 透明 PNG。状态和托盘图标在 Windows 和 Linux 发行版上都被适本地剪裁了,但在 Mac 上我有问题使状态栏图标在两边出现奇怪的填充,如下所示:
令我感到奇怪的是,这适用于除 Mac 以外的所有其他平台。例如,这是在我的 Linux 机器上没有问题的相同状态栏图标:
有谁知道如何在 Mac 上防止这种额外的填充?
最佳答案
我在 SWT Cocoa 源中发现了问题。
public void setImage (Image image) {
checkWidget ();
if (image != null && image.isDisposed ()) error (SWT.ERROR_INVALID_ARGUMENT);
super.setImage (image);
double /*float*/ width = 0;
if (image == null) {
view.setImage (null);
} else {
/*
* Feature in Cocoa. If the NSImage object being set into the view is
* the same NSImage object that is already there then the new image is
* not taken. This results in the view's image not changing even if the
* NSImage object's content has changed since it was last set into the
* view. The workaround is to temporarily set the view's image to null
* so that the new image will then be taken.
*/
NSImage current = view.image ();
if (current != null && current.id == image.handle.id) {
view.setImage (null);
}
view.setImage (image.handle);
if (visible) {
width = image.handle.size ().width + BORDER;
}
}
item.setLength (width);
}
问题出在 width = image.handle.size ().width + BORDER;
这行,它只采用纯图像大小(在您的情况下为 128 像素)。我没有找到任何合适的解决方法(我看到您在 SWT bugzilla 上发布了错误报告)。
因此(目前)避免此错误的唯一方法是缩小托盘图像。
关于java - SWT TrayItem.setImage 在 Mac 状态栏中无法正确缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6474260/
我在设置图像时遇到问题。当从 imagePickerController 中获取图像时,我有一个代表告诉我。它将它发送到所有者 Controller ,然后我尝试在另一个 Controller 上设置
我需要使用线程来从网络检索图像并将其分配到 ImageView 中。 我对 NSOperation 进行了子类化,并从我的 View Controller 中调用它,如下所示: NSOperation
我有以下代码,当我调用此方法时,尽管资源中有图像,但它不会更改按钮的图像。 -(void)changeButton:(NSString*)button withURL:(NSString*)url {
我对这门语言完全陌生,我正在尝试了解 ImageIcon 的工作原理。我在子类中有一个方法,我想根据 switch 语句返回一个 ImageIcon。我遇到的唯一问题是我似乎无法让 .setImage
我有一个以编程方式创建的 UIImageView ([[UIImageView alloc] init])。应用程序的内存一直受到检查,直到 setImage:方法被调用。有什么想法吗? 最佳答案 我
我在代码中创建了两个UIImageView: UIImageView *background = [[UIImageView alloc]initWithFrame:CGRectMake(150, 6
我通过一个非常简单的函数遇到了内存泄漏问题。这是我的代码: -(void) drawPuzzle { gameView.image=nil; UIGraphics
我正在使用 setImage() 在 UIButton 上设置图像,但它不会立即更改图像。要显示图像,我需要再次单击该按钮或其他按钮。如何解决这个问题? block.setImage(UIImage(
我已经使用 setImage 来描述当前图像的状态,但我想在 setImage() 中同时使用两个状态。所以我想合并两个状态 .Highlighted & .Selected button.setIm
我正在编写一个音调生成器 UI,每次生成器开始生成和完成生成时,我都需要更改 UIImageView 图像。为此,我有 @property (weak, nonatomic) IBOutlet UII
我有一个类,其中有两个 UIImageView。在 if control 之后我正在设置这些 ImageView 的图像,但它没有设置。 我正在调用另一个类的方法。 我的代码如下, @synthesi
使用此代码设置按钮图像时出现问题: button.setImage(#imageLiteral(resourceName: "flight_deselect")**.changeToLightGray
我正在尝试制作自己的自定义 Facebook 登录按钮。我很接近,但出于某种原因,当我在 UIButton 上设置图像时,它仍然有一个非常大的框架,将文本推到右边,图标也推到右边。 我错过了什么?我尝
我正在尝试让 tesseract 在 python 中运行: ...image is a numpy array (uint8)... tessApi = tesseract.TessBaseAPI(
我正在使用 andEngine 为 Android 开发游戏。我必须动态更改 Sprite 图像。在 J2ME 中,我使用了 sprite.setImage("img.png"); 但是在andeng
我正在尝试使用 CMFCButton 中的函数 SetImage 为我的按钮加载位图。我没有得到任何错误或其他东西,只是一个普通的按钮。我正在对 icons 做同样的事情并且它有效,但我也需要它来加载
我用 ffmpeg 实现了一个视频播放器。每一帧都解码成功,可以保存为有效的jpg文件,在模拟器中运行时可以显示在UIImageView中。但是,当我在模拟器中运行我的应用程序时,内存会无限增长。此外
这个问题完全难住了我。这是适用于带有 Xcode 4.2 的 iOS 5.0 发生的事情是,在我的应用程序中,我让用户从他们的相册中选择图像,并将这些图像保存到应用程序文档目录中。非常简单。 然后我所
我正在尝试使用以下方法从本地 URL 加载图像: UIImage *image = [UIImage imageWithData:[NSData dataWithContentsOfURL:fileU
一直在寻找这个问题的解决方案已经无数个小时了。问题其实很简单。我在 nib 中有一个 UIImageView,我正在从互联网加载图像并使用该图像设置 UIIImageView。我正在释放 viewCo
我是一名优秀的程序员,十分优秀!