小编Bra*_*ell的帖子

UIImage resizableImageWithCapInsets:无法按预期工作

我正在编写面向iOS 5.0+平台的第一款iOS应用.我正在使用该UIAppearance协议来自定义应用程序UI.

我正在尝试更改UIBarButtonItem整个应用程序的背景.由于我UIBarButtonItem可能会根据所使用的文字或图标改变尺寸,我正试图利用UIImage resizableImageWithCapInsets:我的背景png.

我最初在Ray Wenderlich找到了我需要的代码.使用完全相同的代码,图像与上述教程中使用的图像非常接近,我得到了奇怪的结果.也许这只是我对Cocoa Touch的经验不足.

这是我正在使用的代码.

DreamsAppDelegate.m - customizeAppearance:

UIImage *btnBg = [[UIImage imageNamed:@"navBarButton-bg"] 
          resizableImageWithCapInsets:UIEdgeInsetsMake(0, 6, 0, 6)];

[[UIBarButtonItem appearance] setBackgroundImage:btnBg 
                                        forState:UIControlStateNormal 
                                      barMetrics:UIBarMetricsDefault];
Run Code Online (Sandbox Code Playgroud)

这是我正在尝试使用的png背景图像

png背景

这是结果(在模拟器中)

尝试使用resizableImageWithCapInsets的结果:

xcode cocoa-touch objective-c ios5 uiappearance

13
推荐指数
2
解决办法
1万
查看次数

NSStatusItem在启动时会短暂出现,但会立即消失

几个月后我没有做任何事情,我开始回到可可开发.最初我开始使用Snow Leopard和Xcode 3.我现在正在使用Xcode 4.2运行Lion,我遇到了一些我之前没遇到过的问题.

我相信这可能是因为我之前从未使用过ARC,所以我肯定我错过了一些东西.

我正在尝试创建状态栏应用程序,没有主窗口或停靠图标.当我运行应用程序时,我的应用程序的状态栏图标会短暂显示,大约一秒钟,但随后消失.

继承我的代码.

QuickPlusAppDelegate.h

#import <Cocoa/Cocoa.h>

@interface QuickPlusAppDelegate : NSObject <NSApplicationDelegate>

@property (assign) IBOutlet NSWindow *window;
@property (assign) NSStatusItem *statusItem;
@property (weak) IBOutlet NSMenu *statusItemMenu;

@property (strong) NSImage *statusItemIcon;
@property (strong) NSImage *statusItemIconHighlighted;
@property (strong) NSImage *statusItemIconNewNotification;

@end
Run Code Online (Sandbox Code Playgroud)

QuickPlusAppDelegate.m

#import "QuickPlusAppDelegate.h"

@implementation QuickPlusAppDelegate
@synthesize statusItemMenu = _statusItemMenu;

@synthesize window = _window, statusItem = _statusItem;
@synthesize statusItemIcon = _statusItemIcon, 
    statusItemIconHighlighted = _statusItemIconHighlighted, 
    statusItemIconNewNotification = _statusItemIconNewNotification;

- (void) awakeFromNib
{
    NSBundle *appBundle = [NSBundle mainBundle];
    _statusItemIcon = [[NSImage …
Run Code Online (Sandbox Code Playgroud)

cocoa objective-c nsstatusbar automatic-ref-counting

11
推荐指数
1
解决办法
2955
查看次数

使用修改的预订树遍历的Rails ACL

是否有一个Rails ACL插件/ gem使用MPTT(Modified Preorder Tree Traversal)作为管理权限的技术?

我正在寻找允许我创建角色,为一个或多个角色分配用户,在角色级别和用户级别设置权限的ACL.

我们目前使用CakePHP,内置ACL使用Tree行为(即MPTT)构建.我已经读过Rails有的act_as_nested_set是MPTT.是否有使用acts_as_nested_set的ACL插件/ gem?

最重要的是用户和角色权限可通过GUI(持久存储在数据库中)进行编辑.

acl authorization roles mptt ruby-on-rails-3.1

10
推荐指数
1
解决办法
754
查看次数

ExtJS有标准的设计模式吗?

我们在旗舰应用程序中使用ExtJS 3.x.我们的应用程序管理区域分为我们提供的不同模块.每个模块以及随后模块的不同CRUD操作的每个页面都有自己的.js文件来处理功能.

当我们开始时,我们只是将所有代码抛入Ext.onReady()并且并不真正担心全局命名空间(嘿......我们从未真正将自己视为javascript开发人员).在获得ExtJS之后,我开始使用单例模式并从中调用init方法Ext.onReady().

var newModule = {
    propertyOne: 'asfd',
    propertyTwo: 'asdf',
    init: function() {
        // set up
    }
};

Ext.onReady(function() {
    newModule.init();
});
Run Code Online (Sandbox Code Playgroud)

这是javascript单例模式的正确使用吗?是否有任何模式适合ExtJS比单例更好,比如说模块模式?

我一直在使用本指南作为学习Javascript设计模式的起点.

singleton design-patterns module extjs extjs3

5
推荐指数
1
解决办法
2216
查看次数

增量/减量运算符在Javascript中被认为是不良形式吗?

可能重复:
为什么要避免在JavaScript中增加("++")和减少(" - ")运算符?

我最近一直在通过JSLint运行我的所有javascript,它总是给Unexpected '++'我增量运算符.我还注意到有一个JSLint选项可以容忍 ++/ - .

它被认为是不好用的形式i++/i--吗?

javascript standards

4
推荐指数
1
解决办法
1181
查看次数