小编Pet*_*sey的帖子

[UIView beginAnimations]如何运作?

我想知道动画在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,但它是否真的观察到beginAnimationscommitAnimations调用之间的每个视图的变化 ?

任何见解将不胜感激!

iphone animation cocoa-touch uiview

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

调整字体大小以填充UITextView?

如何在UITextView中设置文本的字体大小,使其填满整个UITextView?我希望用户输入他们的文本,然后让文本填充整个UITextView.

任何帮助表示赞赏!

iphone cocoa-touch font-size uitextview uikit

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

reloadData究竟调用了什么?

在UITableView上调用reloadData时,实际调用了哪些方法?

[tableView reloadData];
Run Code Online (Sandbox Code Playgroud)

iphone cocoa-touch objective-c uitableview

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

UINavigationBar自动调整

在我的应用程序中,我有一个UINavigationController.不幸的是,当我旋转设备并且界面方向发生变化时,UINavigationBar不会改变其高度.在其他iPhone应用程序中,例如Contacts.app,导航栏在横向模式下的高度略高.它必须是内置的,因为如果您从XCode菜单中获取导航示例应用程序并为其添加界面方向,它确实会正确更改导航栏的高度.

如何使导航栏像我见过的所有其他iPhone应用程序一样调整大小?

cocoa-touch uinavigationbar uikit uiview autoresize

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

UIActionSheet上的破坏性按钮指南

在操作表上将按钮设置为破坏性按钮的准则是什么?我的操作表包含两个按钮"取消"和"删除",点击"取消"会取消操作表,而点击"删除"将删除所选项目.我应该选择哪一个作为破坏性按钮?

iphone cocoa-touch uikit

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

UIViewController在ARC环境中的didReceiveMemoryWarning

我正在评估切换到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应被视为"已弃用"/无用吗?

cocoa-touch objective-c uikit automatic-ref-counting

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

设置窗口可调整大小

在IB中,可以通过选中"调整大小"复选框来轻松完成.我的问题是我希望我的主要NSWindow不能调整大小,直到点击一个按钮,然后我希望它可以调整大小.

我在互联网上搜索但找不到任何东西?窗口不能调整大小或不能以编程方式调整大小吗?

在此先感谢大家!

cocoa appkit nswindow

12
推荐指数
2
解决办法
9621
查看次数

如何从一开始就跟踪程序而不以root身份运行它

我正在编写一个调用DTrace来跟踪用户指定的程序的工具.

如果我的工具使用dtrace -c将程序作为DTrace的子进程运行,我不仅不能将任何参数传递给程序,而且程序运行时具有DTrace的所有权限 - 就像root(我正在使用) Mac OS X).这使得某些事情应该有效,并且显然会使很多事情变得不可行.

我知道的另一个解决方案是自己启动程序,通过发送它来暂停它,将其SIGSTOP传递给它dtrace -p,然后通过发送它继续它SIGCONT.问题是,当DTrace收集符号信息时,程序运行几秒钟而没有被跟踪,或者如果我在继续进程之前睡了几秒钟,DTrace会抱怨objc<pid>:<class>:<method>:entry没有探测器匹配.

有没有办法可以在用户的​​帐户下运行程序,而不是root用户,但仍然可以让DTrace从头开始跟踪它?

macos dtrace

11
推荐指数
3
解决办法
6420
查看次数

如果NSTextfield为空,则禁用/启用NSButton

我是可可的新手.我的应用程序中有一个按钮和一个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)

但没有任何反应......

cocoa nstextfield nsbutton

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

NSOperationQueue何时开始其第一次操作?

我已经创建了一个测试项目,我正在测试我的假设,NSOperationNSOperationQueue在我的主项目中使用它们之前.

我的代码非常简单,所以我将在这里包含所有内容.这是在启用ARC的情况下使用命令行Foundation项目.

Operation.h

#import <Foundation/Foundation.h>

@interface Operation : NSOperation

@property (readwrite, strong) NSString *label;

- (id)initWithLabel: (NSString *)label;

@end
Run Code Online (Sandbox Code Playgroud)

Operation.m

#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)

的main.m

#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 cocoa-touch nsoperationqueue

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