我正在考虑这种奇怪的行为.当应用等待某些信息时,我正在使用带有文本的面板向用户显示.此面板以模态显示以防止用户单击某些内容.
隐藏加载面板时,工具栏上的所有项都将被禁用,并且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.我在想其他问题......
我之前尝试过在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) 我想检查我的视图是否在监听UIApplicationWillResignActiveNotification。如果它正在监听,那么我想在dealloc期间将其删除。现在我想知道是否有使用目标c做到这一点的方法?
我不尝试避免为通知添加多个内容。这是我要做什么的更多解释。
我有自定义的gridView。我可以通过启用缩放或禁用缩放来初始化它。如果启用了缩放的init,我将自己添加为UIApplicationWillResignActiveNotification的观察者,但是如果禁用了缩放的init,则它不会将自身添加为该通知的观察者。现在,在dealloc中,我想删除该gridView作为该通知的观察者。所以我想知道是否有办法找出gridView是否正在侦听该通知。
objective-c nsnotifications nsnotification nsnotificationcenter ios
使用XCode 4.1每当我尝试使用CollectionView时,我都会遇到崩溃.
这些是我正在做的步骤:
这是否会发生在其他人身上,还是只是我遇到过的事情?有没有办法解决它,以允许我绑定到集合视图项(我希望最终绑定到representObject值)在XCode或代码中.
我试图创建一个自定义的NSCollectionViewItem子类,它使用一个单独的nib文件,并将其设置为NSCollectionView的itemPrototype,但事情却非常错误.
我对使用xCode的Objective-c有点新意,我想知道一些事情.当单击窗口左侧的红色圆圈时,有没有办法终止应用程序?喜欢在计算器上.
我的应用程序有一个自定义格式,它在 Info.plist 中注册为编辑器,并且可以读取和写入该格式。它还可以读取许多其他格式,但无法写入。对于这些格式,它在 Info.plist 中注册为查看器。
当我打开其他格式之一时,一切看起来都很好,但是当我保存文件时,我的 NSDocument 会收到一条消息,其中writeToURL:ofType:error:包含我加载的文件的 URL 以及我无法写入的格式的 UTI 类型。
-(NSArray *)writableTypes仅返回我的自定义格式的 UTI,并且-(BOOL)isNativeType:仅返回我的自定义格式的 UTI 的 YES。
我想做的是,就像其他具有本机格式但可以从其他格式读取的应用程序一样,当用户按“保存”时,保存面板将打开,用户选择一个文件名来保存为本机类型。
这是 NSDocument 自己可以做的事情,还是我需要检查一下writeToURL:ofType:error:是否需要手动打开保存面板?
在尝试使用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
cocoa ×4
macos ×3
objective-c ×3
ios ×2
autolayout ×1
c ×1
header-files ×1
iphone ×1
linux ×1
modal-dialog ×1
nsdocument ×1
toolbar ×1
ubuntu-12.04 ×1