小编iai*_*ain的帖子

如何强制NSToolBar验证?

我正在考虑这种奇怪的行为.当应用等待某些信息时,我正在使用带有文本的面板向用户显示.此面板以模态显示以防止用户单击某些内容.

隐藏加载面板时,工具栏上的所有项都将被禁用,并且validateToolbarItem不会调用该方法.

我正以这种方式展示小组:

- (void)showInWindow:(NSWindow *)mainWindow {
 sheetWindow = [self window];
 [self sheetWillShow];

 [NSApp beginSheet:sheetWindow modalForWindow:mainWindow modalDelegate:nil didEndSelector:nil contextInfo:nil];
 [NSApp runModalForWindow:sheetWindow];
 [NSApp endSheet:sheetWindow];
 [sheetWindow orderOut:self]; 
}

- (void)dismissModal {
 [sheetWindow close];
 [NSApp stopModal];
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,如何强制工具栏进行验证?

评论后编辑:

我已经尝试过了:

  • [[[NSApp mainWindow] toolbar] validateVisibleItems]
  • [[NSApp mainWindow] update];
  • [NSApp updateWindows];
  • [NSApp setWindowsNeedUpdate:YES];

所有电话结束后dismissModal.我在想其他问题......

macos cocoa modal-dialog toolbar

5
推荐指数
2
解决办法
2866
查看次数

将NSLayoutConstraints应用于UIView子类

我之前尝试过在IB中使用AutoLayout约束,我理解它们是如何工作的,并且它们需要明确等等......

但是当你有超过几个视图时,它会变得有点复杂并且往往会破坏.

所以,我刚刚阅读了一篇关于一个人有同样问题并使用ASCII代码来创建约束的博客.

我有一个UITableView与自定义UITableViewCell,具有基于内容量的动态大小.自动布局的完美候选人.

所以,我已经尝试了几种方法,现在我已经减少了内容,因此单元格中只有一个标签.

如果标签用一个边框填充单元格,我想要的是什么.

即标准尺寸指向细胞的每个边缘.

我这样做了......

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if (self) {
        _label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 10, 10)];
        _label.textColor = [UIColor colorWithWhite:0.53 alpha:1.0];
        _label.backgroundColor = [UIColor yellowColor];
        [self addSubview:_label];

        NSDictionary *views = NSDictionaryOfVariableBindings(_label);

        [self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-[_label]-|"
                                                                     options:0
                                                                     metrics:nil
                                                                       views:views]];

        [self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"|-[_label]-|"
                                                                     options:0
                                                                     metrics:nil
                                                                       views:views]];

        self.backgroundView = [[UIView alloc] initWithFrame:CGRectZero];
        self.backgroundColor = [UIColor clearColor];
    }
    return self;
}
Run Code Online (Sandbox Code Playgroud)

但是当显示单元格时,标签位于左上角,就像我用来初始化它的CGRect一样,我得到了关于约束的大量错误......

Unable to simultaneously satisfy constraints.
    Probably at least one of …
Run Code Online (Sandbox Code Playgroud)

iphone ios autolayout nslayoutconstraint

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

有没有一种方法可以检查观察者是否收听某些NSNotification?

我想检查我的视图是否在监听UIApplicationWillResignActiveNotification。如果它正在监听,那么我想在dealloc期间将其删除。现在我想知道是否有使用目标c做到这一点的方法?

我不尝试避免为通知添加多个内容。这是我要做什么的更多解释。

我有自定义的gridView。我可以通过启用缩放或禁用缩放来初始化它。如果启用了缩放的init,我将自己添加为UIApplicationWillResignActiveNotification的观察者,但是如果禁用了缩放的init,则它不会将自身添加为该通知的观察者。现在,在dealloc中,我想删除该gridView作为该通知的观察者。所以我想知道是否有办法找出gridView是否正在侦听该通知。

objective-c nsnotifications nsnotification nsnotificationcenter ios

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

绑定到NSCollectionViewItem会导致Xcode崩溃

使用XCode 4.1每当我尝试使用CollectionView时,我都会遇到崩溃.

这些是我正在做的步骤:

  1. 从新项目中,编辑MainMenu.nib文件.
  2. 将NSCollectionView添加到窗口,该窗口还添加了Collection View Item和新视图
  3. 像NSTextField一样添加一个控件
  4. 选择控件,然后将检查器切换到绑定窗格.
  5. 尝试将某些内容绑定到Collection View Item.在下拉菜单中选择"收集视图项"后,将出现"内部错误"对话框.尝试从此对话框继续使绑定窗格消失,直到您重新启动XCode

这是否会发生在其他人身上,还是只是我遇到过的事情?有没有办法解决它,以允许我绑定到集合视图项(我希望最终绑定到representObject值)在XCode或代码中.

我试图创建一个自定义的NSCollectionViewItem子类,它使用一个单独的nib文件,并将其设置为NSCollectionView的itemPrototype,但事情却非常错误.

macos cocoa nscollectionview nscollectionviewitem

3
推荐指数
1
解决办法
2045
查看次数

关闭窗口时终止应用程序

我对使用xCode的Objective-c有点新意,我想知道一些事情.当单击窗口左侧的红色圆圈时,有没有办法终止应用程序?喜欢在计算器上.

macos cocoa objective-c

3
推荐指数
1
解决办法
468
查看次数

设置 NSDocument 以保存非本机类型

我的应用程序有一个自定义格式,它在 Info.plist 中注册为编辑器,并且可以读取和写入该格式。它还可以读取许多其他格式,但无法写入。对于这些格式,它在 Info.plist 中注册为查看器。

当我打开其他格式之一时,一切看起来都很好,但是当我保存文件时,我的 NSDocument 会收到一条消息,其中writeToURL:ofType:error:包含我加载的文件的 URL 以及我无法写入的格式的 UTI 类型。

-(NSArray *)writableTypes仅返回我的自定义格式的 UTI,并且-(BOOL)isNativeType:仅返回我的自定义格式的 UTI 的 YES。

我想做的是,就像其他具有本机格式但可以从其他格式读取的应用程序一样,当用户按“保存”时,保存面板将打开,用户选择一个文件名来保存为本机类型。

这是 NSDocument 自己可以做的事情,还是我需要检查一下writeToURL:ofType:error:是否需要手动打开保存面板?

cocoa objective-c nsdocument

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

Linux头文件给出语法错误

在尝试使用gcc我编译程序时出现以下错误.

在/usr/include/unistd.h:218:0中包含的文件中,来自fcfssched.c:3:/usr/include/x86_64-linux-gnu/bits/types.h:31:1:

错误:在'typedef'之前预期'=',',',';','asm'或' attribute '

该错误似乎在头文件中 /bits/types.h

第二个错误(可能)是第一个错误的结果.

在/usr/include/stdlib.h:320:0中包含的文件中,来自fcfssched.c:5:/usr/include/x86_64-linux-gnu/sys/types.h:34:1:

错误:未知类型名称'__u_char'

我该如何解决这个问题?

头文件似乎没问题.我刚刚使用libc6-dev包更新了标头.我使用Ubuntu 12.04 x86与内核3.2.0-36-generic

c linux header-files ubuntu-12.04

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