我在UIToolbar上放了一个标签(根据这个提示:将UILabel添加到UIToolbar).
但是工具栏的左侧有一个按钮,因此灵活的空间会将标签从中心抛出,这就是我想要的位置.我可以以某种方式居中这个工具栏项目,以便它保持在工具栏的中心?
(已经尝试平衡按钮与虚拟固定空间,没有骰子.)
谢谢!
我知道在线程之间共享一个上下文是坏消息.我知道当主线程上的GL没有发生任何事情时,我可以在辅助线程上安全地创建和使用带有屏幕外帧缓冲的上下文.
我还没有找到一个明确的答案,我是否可以安全地在两个不同的线程上创建两个上下文(例如,绘制到屏幕的主线程,以及执行屏幕外绘制工作的辅助线程)并且拥有它们同时进行GL函数调用.
换句话说,只要上下文不同,两个线程可以"共享"C API,从而"共享"GPU吗?或者这本身就是不可分享的东西?或者这是特定于实现的?
在iOS上专门询问OpenGL ES,但这可能是一个普遍的GL问题.
我可能会遗漏一些明显的东西,但我正在我的一个对象上实现NSCopying.该对象具有未通过getter公开的私有实例变量,因为它们不应在对象外部使用.
在我的实现中copyWithZone:
,我需要alloc/init新实例,还要设置其状态以匹配当前实例.我显然可以从内部访问当前的私有状态copyWithZone:
,但我无法将其设置为新对象,因为该状态没有访问器.
有没有一种标准的方法来保持数据隐私的完整性?
谢谢.
似乎无法保证在循环UIGestureRecognizer的方法[locationOfTouch:inView:]时出现UITouches的顺序.特别:
for (int i = 0; i < [recognizer numberOfTouches]; i++) {
CGPoint point = [recognizer locationOfTouch:i inView:self];
NSLog(@"[%d]: (%.1f, %.1f)", i, point.x, point.y);
}
Run Code Online (Sandbox Code Playgroud)
人们会认为索引为0的点将是第一个UITouch,或者是第一个被释放的点,但通常2个触摸的顺序是混合的.有谁知道如何测试这些事件的顺序?遗憾的是,无法访问UITouch对象本身(使用时间戳).
此外,文档中不保证触摸-locationOfTouch:inView:
始终处于可靠的顺序.任何人都可以确认或否认这个吗?
我试图让我的屏幕中的一个子视图(由一个视图控制器拥有)在设备旋转时不旋转.我的视图控制器允许旋转,我正在尝试将90度旋转应用于一个"静止"视图以抵消整体旋转.
问题是,一切似乎都在旋转,变换似乎没有做任何事情.我试图对视图进行仿射变换,并在图层上进行三维变换(下图).该方法被调用,但我从未看到视觉差异.
有什么想法吗?谢谢.
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation duration:(NSTimeInterval)duration
{
CALayer *layer = stuckview.layer;
layer.transform = CATransform3DMakeRotation(90, 0, 0, 1);
}
Run Code Online (Sandbox Code Playgroud) 我将Xcode 3项目升级到Xcode 4.默认方案构建我的Debug配置.如果我想构建Release(当然已经存在的配置)或Ad-Hoc等,是否正确处理它以创建新的Scheme?(似乎出乎意料的是,除了Debug之外,我必须为我的5个现有配置中的每一个配置手动创建一个新方案.)
还是有更轻量级的方式?如果我从根本上误解了某些事情,请随意让我直截了当.
(我已经阅读了Xcode 4过渡指南,但我似乎没有找到关于最佳实践的明确指示,这意味着我可能对概念上的某些内容不清楚.)
谢谢.
我有这样的方法:
- (void)processAThing:(id)thing error:(NSError * __autoreleasing *)error
{
@autoreleasepool {
// Start processing.
// Find some partway through error..
if (error) {
*error = [NSError errorWithDomain...];
return NO;
}
// More processing.
}
}
Run Code Online (Sandbox Code Playgroud)
这是破坏和崩溃,因为NSError是自动释放的,并且当返回发生时,池被耗尽,所以调用者得到的东西现在是假的.
我知道我可以重新设计方法,所以我收集autorelease块之外的所有错误情况,但我想知道在这种情况下是否有正确的方法来处理错误对象.我不能在池块之外分配/初始化推测性NSError,因为域和代码属性是只读的(我仍然认为当方法返回时引用会消失).
如果我将方法声明更改为:它解决了这个问题:
- (void)processAThing:(id)thing error:(NSError * __strong *)error
Run Code Online (Sandbox Code Playgroud)
但后来我需要以非标准的方式在呼叫站点上大惊小怪,这似乎让调用者为我的内部自动释放池付出了代价.
有什么想法吗?谢谢.
我正在尝试将一些旧的Applescript移植到新的JavaScript语法中.
事情似乎非常直接,所以:
tell application "System Events" to keystroke "t" using command down
Run Code Online (Sandbox Code Playgroud)
成为:
System = Application('System Events');
System.keystroke("t", {using: "command down"})
Run Code Online (Sandbox Code Playgroud)
但是我不能为我的生活找出如何列出特定位置的文件.在AppleScript中,要返回目录中的文件列表/usr
,您可以:
tell application "System Events" to set fileList to name of items in folder "/usr"
-- > {"bin", "include", "lib", "libexec", "local", "sbin", "share", "standalone", "X11"}
Run Code Online (Sandbox Code Playgroud)
但是我不能为我的生活弄清楚如何在Javascript中做到这一点.
System = Application('System Events')
myPath = Path("/usr")
fileList = System.items(myPath)
-- > message not understood
fileList = System.folder(myPath)
-- > message not understood
fileList = System.diskItems(myPath)
-- > []
fileList …
Run Code Online (Sandbox Code Playgroud) javascript applescript automation osx-yosemite javascript-automation
根据标题.调用[[UIDevice currentDevice] BeginGeneratingDeviceOrientationNotifications]无效.
DidRotateToInterfaceOrientation等事件工作正常,但我需要能够任意轮询设备方向.
我该如何修复/做到这一点?
长话故事:我在每个选项卡上都有一个带有导航控制器的选项卡应用程序.第一个选项卡的根视图是当方向变为横向时全屏显示的图形; 然而,每当视图出现时都需要检查,因为方向改变可能在其他地方发生,所以我希望在出现此视图时轮询方向状态.
iphone objective-c orientation uidevice interface-orientation
在默认(即我的)配置中,Xcode在其变量的调试器窗口中有点无用,特别是那些常见的Objective-C集合.
调试器似乎通常希望在展开某个对象时显示底层的Obj-C结构,所以我正在查看isa
s和类层次结构.
但是我在这里几乎总是想要的是对象本身具有语义意义的东西.例如NSDictionary
,我理想地想要查看键/值列表.如果这些键和值是,例如NSString
s,我只想看到字符串值,而不是复杂的嵌套对象.这同样适用于NSSet
S,NSArrays
和内部的字节NSData
.并且NSString
,虽然通常在摘要列中获取它们的字符串表示,但是当它们很长时(例如,在列中看起来太长而不能滚动的路径名)时,我们无法查看 - 当我双击时它,我得到显示模板字符串,所以我不能选择/复制它.
我最近花了一些时间在Eclipse上调试Java,并且由于它的所有缺点,Eclipse知道所有Java集合,并且在字符串或集合的内容中有一个简单的单行转储,或者在调试器中找到它时的任何内容.
有没有办法在Xcode中获得这个?我错过了一些明显的东西,还是应该潜入显示模板系统?我知道那里有一些支持,因为NSArrays似乎得到一种特殊的列表格式,NSDictionaries获得"2键/值对"摘要等.
编辑:可以放入GDB以获取更多关于对象的数据.令我感到沮丧的是,GDB po
在an上的行为NSDictionary
给出了我期望从GUI调试器中获得的那种非常有用的输出.可以在没有上下文切换到控制台的情况下复制吗?
我非常喜欢Xcode环境,但是我一直使用的对象几乎完全不透明,这确实阻碍了调试时间.谢谢.
iphone ×5
ios ×3
objective-c ×3
xcode ×2
applescript ×1
automation ×1
autorelease ×1
calayer ×1
cocoa ×1
cocoa-touch ×1
debugging ×1
javascript ×1
nscopying ×1
opengl-es ×1
orientation ×1
osx-yosemite ×1
rotation ×1
uidevice ×1
uikit ×1
uilabel ×1
uitoolbar ×1
uiview ×1
xcode4 ×1