我想知道动画在Cocoa Touch中是如何工作的.例如:
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.0];
view1.alpha = 1.0;
view2.frame.origin.x += 100;
[UIView commitAnimations];
Run Code Online (Sandbox Code Playgroud)
如何UIView跟踪两个视图属性的更改?
我怀疑使用了KVO,但它是否真的观察到beginAnimations和commitAnimations调用之间的每个视图的变化 ?
任何见解将不胜感激!
如何在UITextView中设置文本的字体大小,使其填满整个UITextView?我希望用户输入他们的文本,然后让文本填充整个UITextView.
任何帮助表示赞赏!
在UITableView上调用reloadData时,实际调用了哪些方法?
[tableView reloadData];
Run Code Online (Sandbox Code Playgroud) 在我的应用程序中,我有一个UINavigationController.不幸的是,当我旋转设备并且界面方向发生变化时,UINavigationBar不会改变其高度.在其他iPhone应用程序中,例如Contacts.app,导航栏在横向模式下的高度略高.它必须是内置的,因为如果您从XCode菜单中获取导航示例应用程序并为其添加界面方向,它确实会正确更改导航栏的高度.
如何使导航栏像我见过的所有其他iPhone应用程序一样调整大小?
在操作表上将按钮设置为破坏性按钮的准则是什么?我的操作表包含两个按钮"取消"和"删除",点击"取消"会取消操作表,而点击"删除"将删除所选项目.我应该选择哪一个作为破坏性按钮?
我正在评估切换到ARC(自动引用计数)和重构以应用于我的代码.在我必须弄清楚的事情中,有这样的:
如果ARC不允许显式释放对象,我该怎么办didReceiveMemoryWarning?目前,我使用该方法释放属于我的控制器的对象,并且可以通过惰性getter轻松检索:
- (void)didReceiveMemoryWarning {
[_foo release]; _foo = nil;
[super didReceiveMemoryWarning];
}
Run Code Online (Sandbox Code Playgroud)
和相对懒惰的吸气剂:
- (Foo *)foo {
if (_foo) {
return _foo;
}
return (_foo = [[Foo alloc] init]);
}
Run Code Online (Sandbox Code Playgroud)
在ARC中实现这样的"模式"似乎是不可能的...所以,我该怎么办?在ARC中,didReceiveMemoryWarning应被视为"已弃用"/无用吗?
在IB中,可以通过选中"调整大小"复选框来轻松完成.我的问题是我希望我的主要NSWindow不能调整大小,直到点击一个按钮,然后我希望它可以调整大小.
我在互联网上搜索但找不到任何东西?窗口不能调整大小或不能以编程方式调整大小吗?
在此先感谢大家!
我正在编写一个调用DTrace来跟踪用户指定的程序的工具.
如果我的工具使用dtrace -c将程序作为DTrace的子进程运行,我不仅不能将任何参数传递给程序,而且程序运行时具有DTrace的所有权限 - 就像root(我正在使用) Mac OS X).这使得某些事情应该有效,并且显然会使很多事情变得不可行.
我知道的另一个解决方案是自己启动程序,通过发送它来暂停它,将其SIGSTOP传递给它dtrace -p,然后通过发送它继续它SIGCONT.问题是,当DTrace收集符号信息时,程序运行几秒钟而没有被跟踪,或者如果我在继续进程之前睡了几秒钟,DTrace会抱怨objc<pid>:<class>:<method>:entry没有探测器匹配.
有没有办法可以在用户的帐户下运行程序,而不是root用户,但仍然可以让DTrace从头开始跟踪它?
我是可可的新手.我的应用程序中有一个按钮和一个textField.我想在textfield为空时禁用该按钮,并在用户输入内容时启用.
有什么要开始的吗?Interface Builder中的任何"魔术"绑定?
谢谢
[EDITED]
我试图将appDelegate设置为NSTextfield的委托并添加了此方法(myTextfield和myButton是IBOutlets):
- (void)textDidChange:(NSNotification *)aNotification
{
if ([[myTextField stringValue]length]>0) {
[myButton setEnabled: YES];
}
else {
[myButton setEnabled: NO];
}
}
Run Code Online (Sandbox Code Playgroud)
但没有任何反应......
我已经创建了一个测试项目,我正在测试我的假设,NSOperation并NSOperationQueue在我的主项目中使用它们之前.
我的代码非常简单,所以我将在这里包含所有内容.这是在启用ARC的情况下使用命令行Foundation项目.
#import <Foundation/Foundation.h>
@interface Operation : NSOperation
@property (readwrite, strong) NSString *label;
- (id)initWithLabel: (NSString *)label;
@end
Run Code Online (Sandbox Code Playgroud)
#import "Operation.h"
@implementation Operation
- (void)main
{
NSLog( @"Operation %@", _label);
}
- (id)initWithLabel: (NSString *)label
{
if (( self = [super init] )) {
_label = label;
}
return self;
}
@end
Run Code Online (Sandbox Code Playgroud)
#import <Foundation/Foundation.h>
#import "Operation.h"
int main(int argc, const char * argv[])
{
@autoreleasepool {
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
queue.maxConcurrentOperationCount = …Run Code Online (Sandbox Code Playgroud) cocoa-touch ×7
iphone ×4
uikit ×4
cocoa ×3
objective-c ×2
uiview ×2
animation ×1
appkit ×1
autoresize ×1
dtrace ×1
font-size ×1
macos ×1
nsbutton ×1
nstextfield ×1
nswindow ×1
uitableview ×1
uitextview ×1