在observeValueForKeyPath:ofObject:change:context:- 为什么文档使用NULL而不是nil在不指定上下文指针时?
注意:自问这个问题以来,事情已经发生了变化; 请看这里有一个很好的近期概述.
在自动布局之前,您可以通过存储框架,设置锚点和恢复框架来更改视图图层的锚点,而无需移动视图.
在自动布局世界中,我们不再设置框架,但是约束似乎不能将视图的位置调整回我们想要的位置.您可以破解约束以重新定位视图,但在轮换或其他调整大小事件时,这些会再次变为无效.
以下明智的想法不起作用,因为它创建了"无效的布局属性配对(左侧和宽度)":
layerView.layer.anchorPoint = CGPointMake(1.0, 0.5);
// Some other size-related constraints here which all work fine...
[self.view addConstraint:
[NSLayoutConstraint constraintWithItem:layerView
attribute:NSLayoutAttributeLeft
relatedBy:NSLayoutRelationEqual
toItem:layerView
attribute:NSLayoutAttributeWidth
multiplier:0.5
constant:20.0]];
Run Code Online (Sandbox Code Playgroud)
在这里我的目的是左边缘设置layerView,调整后的定位点来看,它的宽度加上20(我从上海华盈的左边缘要插入的距离)的一半.
是否可以在使用自动布局布局的视图中更改定位点而不更改视图的位置?我是否需要使用硬编码值并在每次旋转时编辑约束?我希望不是.
我需要更改锚点,以便在将变换应用于视图时,我获得正确的视觉效果.
在Xcode 6(Beta 1)中从Swift开始构建一个新项目,并且看到了Storyboard和我正在查看的输出的一些奇怪行为.
我已经构建了一个简单的界面(如下所示) - 包含View Controller的属性.当我在模拟器中运行它时,我希望"Hello,World"成为用户界面的核心 - 但是看起来这个"Square"只是适合iPhone屏幕,因此显示了错误的视图(见下文) ).
我的问题是:有其他人看到过这种行为,他们是如何解决这个问题的?
谢谢!




是否可以在Storyboard中的视图控制器之间进行淡入和淡出过渡.或者没有过渡.
如果有可能,它的代码是什么?
当键盘显示时,我想提升视野.键盘(高度:216)应该用它的高度向上推动我的视线.这可以通过简单的代码实现吗?
好吧,我会尝试尽可能简短.我想我上面的键盘UIToolbar,我花了一段时间来弄明白,我最终做到了,但是当我尝试添加功能的按钮之前的*未来*和做我的程序很快就会无法编译.
这里可以看到整个错误消息:
2012-06-20 05:36:55.276 KegCop [79460:fb03] *由于未捕获的异常'NSUnknownKeyException'终止应用程序,原因:'[setValue:forUndefinedKey:]:此类不是键值编码兼容的键完成".
*第一掷调用堆栈:(0x134a022 0x1733cd6 0x1349ee1 0xd31022 0xca2f6b 0xca2edb 0xcbdd50 0x5a571a 0x134bdea 0x12b57f1 0x5a426e 0x7adeef 0x7ae03e 0x382d7a 0x382ff8 0x38217f 0x391183 0x391c38 0x385634 0x1f84ef5 0x131e195 0x1282ff2 0x12818da 0x1280d84 0x1280c9b 0x381c65 0x383626 0x2a8d 0x29f5为0x1)终止叫做抛出异常(LLDB)
@Abizern建议我应该阅读Apple Doc on Key值编码指南.无论如何,它是超级晚,或超级早,但你看它.更新的项目可以在这里找到:https://github.com/ipatch/KegCop
只需下载zip,尝试构建,你就会看到我在说什么.该错误可能位于ViewControllerWelcome.m文件中的某处.
嗨,我有这个代码,它不起作用,我做错了什么?
- (void)viewDidLoad
{
[self.tabBarItem setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIFont fontWithName:@"AmericanTypewriter" size:20.0f], UITextAttributeFont, nil] forState:UIControlStateDisabled];
}
Run Code Online (Sandbox Code Playgroud)
顺便说一句,这不是我的viewDidLoad中唯一的东西,但我只是想告诉你那些我把它放在哪里.
recursiveDescription在调试视图层次结构时非常有用.查看控制器层次结构也非常重要,是否有相应的内容?
当使用resizableImageWithCapInsets:为UIButton创建图像时,只有正常状态(使用setBackgroundImage:forState :)设置图像的状态才有效.所有其他状态显示间隙而不是绘制的图像.UIButton表示,如果没有为特定状态设置图像,则正常状态图像将与覆盖一起用于禁用和选定状态.
这是正常状态:

这是选定的州:

这是源图像:

它显然是使用我提供的可调整大小的图像,但图像没有绘制调整大小的区域.(您可以看到左右边缘,但是不会绘制刚刚拉伸的中间区域).
有趣的是,stretchableImageWithLeftCapWidth:topCapHeight:确实有效.现在这是iOS 5中不推荐使用的方法,但是由于新API中显示了差距,我可能会被困在使用它.
我确实认识到我可以为每个州提供更多的图像,但是这会破坏我正在努力减少内存占用的目的,并且增加了对我想要避免的图形设计器的额外依赖性.
// This is the gist of the code being used
UIImage* image = [UIImage imageNamed:@"button.png"];
UIEdgeInsets insets = UIEdgeInsetsMake(image.size.height/2, image.size.width/2, image.size.height/2, image.size.width/2);
image = [image resizableImageWithCapInsets:insets];
[self.button setBackgroundImage:image forState:UIControlStateNormal];
// Even doing the following results in the same behaviour
[self.button setBackgroundImage:image forState:UIControlStateSelected];
Run Code Online (Sandbox Code Playgroud) 我不确定是否有其他人遇到问题...但是当我点击XCode中的版本编辑器按钮时......我的故事板切换到XML视图,我无法弄清楚如何获取Visual编辑器.
有人可以帮忙吗?我真的希望这只是深夜编码困倦的结果......提前谢谢

ios ×8
objective-c ×4
iphone ×3
xcode ×3
autolayout ×1
calayer ×1
cocoa ×1
debugging ×1
ios5 ×1
keyboard ×1
null ×1
uibutton ×1
uiimage ×1
uistoryboard ×1
xcode6 ×1